我正在處理交易,並在提到的代碼中遇到了一些問題。我沒有提交該事務,但它將數據插入到我的數據庫中。交易無法在codeingniter中回滾
$this->db->trans_begin();
$this->db->insert('tblorder',$data);
$orderid=$this->db->insert_id();
foreach ($orderItemList as $orderItemList) {
$orderitem = array('orderid' =>$orderid ,'productid' =>$orderItemList->productid ,'amount' =>$orderItemList->amount);
$this->db->insert('tblorderitem',$orderitem);
}
$this->db->trans_complete();
if ($this->db->trans_status() == 1) {
$this->db->trans_rollback();
return "true";
} else {
$this->db->trans_commit();
return "false";
}
我回滾事務,並再次將所有數據插入到我的數據庫中。什麼是這個問題?我無法得到它。
我想回滾事務比會做什麼? –
您錯誤地使用了'trans_off()'。一旦運行,其他任何'trans_'方法都不會執行。那麼......技術上他們執行,但一旦他們看到'trans_off()'被調用,他們立即返回FALSE。 – DFriend