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