当前位置:首页 > PHP教程 > php应用 > 列表

php+mysqli事务控制实现银行转账实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-09 15:26:43 浏览: 评论:0 

这篇文章主要介绍了php+mysqli事务控制实现银行转账,实例分析了事物控制的原理与事物回滚的使用技巧,需要的朋友可以参考下

本文实例讲述了php+mysqli事务控制实现银行转账的方法。分享给大家供大家参考。具体分析如下:

事务控制,也就是说所有的语句执行成功后,才会提交。否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态。通过银行转账的案例来说明这个应用。一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功。

代码如下:

  1. <?php 
  2. //1、创建数据库连接对象 
  3. $mysqli = new MySQLi("localhost","root","123456","liuyan"); 
  4. if($mysqli->connect_error){ 
  5.  die($mysqli->connect_error); 
  6. $mysqli->query("set names 'GBK'"); 
  7.  
  8. $mysqli->autocommit(false); 
  9. //首先设置autocommit为false,也就是不自动提交 
  10.  
  11. $sql1 = "update account set balance=balance-2 where id=1;"
  12. $sql2 = "update account set balance=balance+2 where id=2;"
  13. $res1 =$mysqli->query($sql1or die($mysqli->error); 
  14. $res2 =$mysqli->query($sql2or die($mysqli->error); 
  15.  
  16. if(!$res1 || !$res2){ 
  17.  echo "转账失败"
  18.  $mysqli->rollback();//如果有一条不成功,则回滚 
  19. }else
  20.  $mysqli->commit();//两条语句都执行成功,则提交 
  21.  echo "转账成功"
  22. ?>

Tags: php+mysqli事务控制

分享到: