首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

CodeIgniter Active Record 批量插入 insert_batch() 高效寫入多條數據

     編輯:PHP 相關知識

原生 SQL vs AR 批量插入

原生 SQL 需手動拼接:INSERT INTO table (a,b) VALUES (1,2),(3,4)。CI AR 提供 insert_batch() 更安全、可讀性強。

使用示例

$data = [
    ['name' => 'PHP', 'url' => 'https://www.bkjia.com'],
    ['name' => '幫客之家', 'url' => 'https://www.bkjia.com'],
];
$this->db->insert_batch('mytable', $data);

生成 SQL:INSERT INTO mytable (name, url) VALUES ('PHP','...'),('幫客之家','...')

核心規則

  • 參數為二維關聯數組,每個子數組代表一行
  • 所有子數組鍵名必須一致(即欄位名)
  • 自動轉義值,防止 SQL 注入
  • 返回受影響行數,失敗拋出異常

適用場景

  • 批量導入 Excel/CSV 數據
  • 日誌批量寫入
  • 初始化測試數據

注意:CI 資料庫快捷操作類參數通常為一維關聯數組,insert_batch() 是少數接受二維數組的方法。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved