本文实例讲述了PHP结合MysqL与MysqLi扩展处理事务的方法。分享给大家供大家参考,具体如下:
以下只是展示如何应用,具体用的时候要加上判断,如果都执行成功则提交,否则回滚
MysqLi扩展处理事物:
autocommit(false);//开始事物
$query="update a set money=money+30 where a_id='1'";
$MysqLi->query($query);
$query="update b set money=money-30 where b_id='1'";
$MysqLi->query($query);
//$MysqLi->rollback();//回滚
$MysqLi->commit(); //提交事物
$MysqLi->autocommit(true);//不使用事物
MysqL扩展处理事物:
PHP;">
对MysqL扩展处理事务的说明,原文可参考本站:
MYSQL的事务处理主要有两种方法。
begin 开始一个事务
rollback 事务回滚
commit 事务确认
MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过: set autocommit=0 禁止自动提交
set autocommit=1 开启自动提交 来实现事务的处理。 但注意当你用 set autocommit=0 的时候,你以后所有的SQL都将做为事务处理,直到你用commit确认或rollback结束,注意当你结束这个事务的同时也开启了个新的事务!按第一种方法只将当前的作为一个事务! 个人推荐使用第一种方法! MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!(切记!) 更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》及《PHP常见数据库操作技巧汇总》 希望本文所述对大家PHP程序设计有所帮助。