如何在CodeIgniter中使用批量插入獲取最後插入的查詢的ID。我使用代碼$this->db->insert_id()
,但它返回我的第一個插入數組的ID。我無法得到最後一個插入。在CodeIgniter中使用批量插入獲取查詢的最後一個插入ID時出錯
這裏就是我所做的:
for ($x = 0; $x < sizeof($filtername); $x++) {
$orders[] = array(
'poid' => null,
'order_id' => $poid,
'item_desc' => $filtername[$x],
'item_qty' => $filterquantity[$x],
'item_price' => $filterprice[$x],
'total' => $filtertotal[$x],
'cash_on_delivery' => $val_delivery,
'is_check' => $val_check,
'bank_transfer' => $val_transfer,
'transaction_date' => $dateorder
);
}
$this->db->insert_batch('po_order', $orders);
echo $this->db->insert_id(); //will return the first insert array
我看不出哪裏是我的錯誤。我最後的選擇是使用查詢來獲取它。我還做了mysql_insert_id()
但始終返回到0
http://stackoverflow.com/questions/1440360/lastinsertid-from-a-bulk-insert –
http://stackoverflow.com/questions/15919289/how-to-retrieve-all-last-插入的行ids-in-mysql-php –
添加插入記錄的數量到返回的第一個id將有所幫助,除非你沒有做smthg奇怪的事情(比如你沒有刪除數據庫中的以前的記錄)。因爲insert_batch不會給你最後一個插入ID。 –