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

php+Mysqli利用事务处理转账问题实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-11 11:49:54 浏览: 评论:0 

这篇文章主要介绍了php+Mysqli利用事务处理转账问题的方法,实例分析了php+mysqli处理事务的提交与回滚的技巧,需要的朋友可以参考下

本文实例讲述了php+Mysqli利用事务处理转账问题的方法。分享给大家供大家参考。具体实现方法如下:

  1. <?php  
  2.   header("Content-type:text/html; charset=utf-8");  
  3.      
  4.   $mysqli = new mysqli("localhost""root""064319""php");  
  5.   $mysqli->set_charset("utf8");  
  6.      
  7.   if($mysqli->connect_errno) {  
  8.    die('数据库连接失败'.$mysqli->connect_error);  
  9.   }  
  10.      
  11.   $mysqli->autocommit(false); //自动提交模式设为false  
  12.   $flag = true; //事务是否成功执行的标志  
  13.      
  14.   $query = "update account set balance=balance-1000 where id=3";  
  15.   $result = $mysqli->query($query);  
  16.   $affected_count = $mysqli->affected_rows;  
  17.   if(!result || $affected_count == 0) {  //失败  
  18.    $flag = false;    
  19.   }  
  20.      
  21.   $query = "update account set balance=balance+1000 where id=2";  
  22.   $result = $mysqli->query($query);  
  23.   $affected_count = $mysqli->affected_rows;  
  24.   if(!$result || $affected_count == 0) {  
  25.    $flag = false;  
  26.   }  
  27.      
  28.   if($flag) {  
  29.    $mysqli->commit();  
  30.    echo '转账成功';  
  31.   } else {  
  32.    $mysqli->rollback();  
  33.    echo '转账失败';  
  34.   }  
  35.      
  36.   $mysqli->autocommit(true); //重新设置事务为自动提交  
  37.   $mysqli->close();  
  38. ?>

Tags: php+Mysqli事务转账

分享到: