Codeigniter $ this-> db-> trans_begin();如果未提交或回滚并刷新页面,则会锁定数据库

时间:2012-02-27 16:33:37

标签: php mysql codeigniter transactions

我有一个页面,其中使用了$this->db->trans_begin();并完成了一些插入操作。然后打开一个模态并要求用户确认,如果用户确认,它将提交事务其他卷。但是如果模式在提交或回滚之前打开,我会刷新浏览器。跟随同样的事情,当桌子被锁定时,浏览器会挂起3到4次......

有人知道如果事务在codeigniter中打开并且页面被刷新我可以在开始新事件之前将其关闭吗?

1 个答案:

答案 0 :(得分:1)

是的,这就是交易的意图。你必须关闭或回滚。

交易应尽可能短暂开放,因为它们可以阻止其他活动。在等待用户反馈时,您当然不应该打开交易。

询问用户是否确定,然后只有当他们按“确定”开始交易时,才能完成工作并提交。