在使用CodeIgniter中的批处理插入获取查询的最后插入ID时出错 [英] Error in getting the last inserted ID of a query using batch insert in CodeIgniter
本文介绍了在使用CodeIgniter中的批处理插入获取查询的最后插入ID时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用CodeIgniter中的批处理插入获取查询的最后插入ID。我使用代码 $ this-> db-> insert_id()
,但它返回我的第一个插入数组的ID。
How can I get the last inserted ID of a query using the batch insert in CodeIgniter. I used the code $this->db->insert_id()
but it returns the ID of my first inserted array. I can't get the last insert.
以下是我所做的:
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。
推荐答案
您将需要这样做,
$insertIds = array();
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('po_order', $orders);
$insertIds[$x] = $this->db->insert_id(); //will return the first insert array
}
print_r($insertIds); //print all insert ids
这篇关于在使用CodeIgniter中的批处理插入获取查询的最后插入ID时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文