【发布时间】:2012-03-17 03:15:51
【问题描述】:
我有一个页面,其中使用了$this->db->trans_begin(); 并完成了一些插入。然后一个模式打开并要求用户确认,如果用户确认,则提交事务,否则滚动。但是,如果模式在提交或回滚发生之前打开,我会刷新他的浏览器。在关注相同的事情 3 到 4 次时,浏览器会因为表被锁定而挂起......
有人知道如果事务在codeigniter 中打开并且页面被刷新,我可以在开始新事务之前关闭它吗?
【问题讨论】:
-
如何在 PHP 中获得用户对开放事务的响应?如果您的脚本执行结束,您打开的 mysql 连接应该关闭,打开的事务应该自动为您中止。你为你的表使用什么表引擎。典型的是 MyISAM 和 InnoDB。您使用哪种连接类型,持久/非持久?我的第一个猜测是您正在使用持久连接。使用非持久性的,或者只是在脚本结束之前中止待处理的事务。
-
参见codeigniter.com/user_guide/database/configuration.html 将
pconnect的配置值更改为FALSE。
标签: php mysql codeigniter transactions