php+mysqli事务控制实现银行转账实例
发布:smiling 来源: PHP粉丝网 添加日期:2021-05-09 15:26:43 浏览: 评论:0
这篇文章主要介绍了php+mysqli事务控制实现银行转账,实例分析了事物控制的原理与事物回滚的使用技巧,需要的朋友可以参考下
本文实例讲述了php+mysqli事务控制实现银行转账的方法。分享给大家供大家参考。具体分析如下:
事务控制,也就是说所有的语句执行成功后,才会提交。否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态。通过银行转账的案例来说明这个应用。一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功。
代码如下:
- <?php
- //1、创建数据库连接对象
- $mysqli = new MySQLi("localhost","root","123456","liuyan");
- if($mysqli->connect_error){
- die($mysqli->connect_error);
- }
- $mysqli->query("set names 'GBK'");
- $mysqli->autocommit(false);
- //首先设置autocommit为false,也就是不自动提交
- $sql1 = "update account set balance=balance-2 where id=1;";
- $sql2 = "update account set balance=balance+2 where id=2;";
- $res1 =$mysqli->query($sql1) or die($mysqli->error);
- $res2 =$mysqli->query($sql2) or die($mysqli->error);
- if(!$res1 || !$res2){
- echo "转账失败";
- $mysqli->rollback();//如果有一条不成功,则回滚
- }else{
- $mysqli->commit();//两条语句都执行成功,则提交
- echo "转账成功";
- }
- ?>
Tags: php+mysqli事务控制
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)