微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php结合mysql与mysqli扩展处理事务的方法

本文实例讲述了PHP结合MysqLMysqLi扩展处理事务的方法分享给大家供大家参考,具体如下:

以下只是展示如何应用,具体用的时候要加上判断,如果都执行成功则提交,否则回滚

看前先分清MysqLi与MysqL扩展是不一样的

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扩展处理事物:

rush: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程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐