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+javascript模拟Matrix画面
Oct 09 PHP
php 魔术方法使用说明
Oct 20 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
Jun 01 PHP
Php header()函数语法及使用代码
Nov 04 PHP
php下获取http状态的实现代码
May 09 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
php的闭包(Closure)匿名函数初探
Feb 14 PHP
PHP设计模式之装饰器模式实例详解
Feb 07 PHP
php 使用mpdf实现指定字段配置字体样式的方法
Jul 29 PHP
PHP实现微信提现(企业付款到零钱)
Aug 01 PHP
PHP时间类完整代码实例
Feb 26 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
PHP三元运算符的结合性介绍
2012/01/10 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
详解laravel passport OAuth2.0的4种模式
2019/11/04 PHP
jQuery焦点图切换特效插件封装实例
2013/08/18 Javascript
js形成页面的一种遮罩效果实例代码
2014/01/04 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
最丑的时钟效果!js canvas时钟制作方法
2016/08/15 Javascript
js原生跨域_用script标签的简单实现
2016/09/24 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
javascript中活灵活现的Array对象详解
2016/11/30 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
Node.js如何响应Ajax的POST请求并且保存为JSON文件详解
2017/03/10 Javascript
Angular2利用组件与指令实现图片轮播组件
2017/03/27 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
2018/10/28 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
[13:40]TI3青蛙君全程回顾 DOTA2我们为梦想再战
2013/09/13 DOTA
Python实现简单的多任务mysql转xml的方法
2017/02/08 Python
python实现windows下文件备份脚本
2018/05/27 Python
pycharm远程linux开发和调试代码的方法
2018/07/17 Python
docker-py 用Python调用Docker接口的方法
2019/08/30 Python
Python实现随机生成任意数量车牌号
2020/01/21 Python
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
什么是跨站脚本攻击
2014/12/11 面试题
个人简历自我评价八例
2013/10/31 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
职工运动会邀请函
2014/02/02 职场文书
内勤主管岗位职责
2014/04/03 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
群众路线教育实践活动民主生活会个人检查对照思想汇报
2014/10/04 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS