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


Posted in PHP onFebruary 11, 2015

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

<?php 
  header("Content-type:text/html; charset=utf-8"); 
   
  $mysqli = new mysqli("localhost", "root", "064319", "php"); 
  $mysqli->set_charset("utf8"); 
   
  if($mysqli->connect_errno) { 
   die('数据库连接失败'.$mysqli->connect_error); 
  } 
   
  $mysqli->autocommit(false); //自动提交模式设为false 
  $flag = true; //事务是否成功执行的标志 
   
  $query = "update account set balance=balance-1000 where id=3"; 
  $result = $mysqli->query($query); 
  $affected_count = $mysqli->affected_rows; 
  if(!result || $affected_count == 0) {  //失败 
   $flag = false;   
  } 
   
  $query = "update account set balance=balance+1000 where id=2"; 
  $result = $mysqli->query($query); 
  $affected_count = $mysqli->affected_rows; 
  if(!$result || $affected_count == 0) { 
   $flag = false; 
  } 
   
  if($flag) { 
   $mysqli->commit(); 
   echo '转账成功'; 
  } else { 
   $mysqli->rollback(); 
   echo '转账失败'; 
  } 
   
  $mysqli->autocommit(true); //重新设置事务为自动提交 
  $mysqli->close(); 
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP.MVC的模板标签系统(二)
Sep 05 PHP
PHP学习之PHP变量
Oct 09 PHP
PHP在字符断点处截断文字的实现代码
Apr 21 PHP
精美漂亮的php分页类代码
Apr 02 PHP
解决FastCGI 进程超过了配置的活动超时时限的问题
Jul 03 PHP
php判断是否为json格式的方法
Mar 04 PHP
PHPThumb图片处理实例
May 03 PHP
php计算两个整数的最大公约数常用算法小结
Mar 05 PHP
php文件压缩之PHPZip类用法实例
Jun 18 PHP
php获取错误信息的方法
Jul 17 PHP
详细解读PHP中接口的应用
Aug 12 PHP
深入解析PHP的Laravel框架中的event事件操作
Mar 21 PHP
php使用iconv中文截断问题的解决方法
Feb 11 #PHP
php发送与接收流文件的方法
Feb 11 #PHP
php实现上传图片保存到数据库的方法
Feb 11 #PHP
php使用curl获取https请求的方法
Feb 11 #PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 #PHP
php判断并删除空目录及空子目录的方法
Feb 11 #PHP
php获取YouTube视频信息的方法
Feb 11 #PHP
You might like
建立动态的WML站点(一)
2006/10/09 PHP
模仿OSO的论坛(五)
2006/10/09 PHP
PHP伪造referer实例代码
2008/09/20 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
PHP实现的自定义数组排序函数与排序类示例
2016/11/18 PHP
php判断目录存在的简单方法
2019/09/26 PHP
PHP实现简单登录界面
2019/10/23 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
2013/03/21 Javascript
JavaScript里四舍五入函数round用法实例
2015/04/06 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
ReactJs实现树形结构的数据显示的组件的示例
2017/08/18 Javascript
浅谈angular.js跨域post解决方案
2017/08/30 Javascript
js中apply与call简单用法详解
2017/11/06 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
Python3中的2to3转换工具使用示例
2015/06/12 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
HTML5 新事件 小结
2009/07/16 HTML / CSS
美国网上购买眼镜:Eyeconic
2017/07/29 全球购物
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
护理专业的自荐信
2013/10/22 职场文书
新学期班主任寄语
2014/01/18 职场文书
巾帼文明岗申报材料
2014/05/01 职场文书
CAD实训总结范文
2015/08/03 职场文书
Django程序的优化技巧
2021/04/29 Python
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸