微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 在CodeIgniter中使用批量插入获取查询的最后一个插入ID时出错

如何使用CodeIgniter中的批量插入获取最后插入的查询ID.我使用了代码$this-> db-> insert_id()但它返回了我第一个插入数组的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.

解决方法

你需要做这样的事情,

$insertIds  = array();
for ($x = 0; $x < sizeof($filtername); $x++) {
    $orders = array(
        'poid'              => null,'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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐