我正在处理交易,并在提到的代码中遇到了一些问题。我没有提交该事务,但它将数据插入到我的数据库中。交易无法在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