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 相关文章推荐
推荐文章系统(一)
Oct 09 PHP
php部分常见问题总结
Mar 27 PHP
深入PHP curl参数的详解
Jun 17 PHP
php多个字符串替换成同一个的解决方法
Jun 18 PHP
ThinkPHP实现ajax仿官网搜索功能实例
Dec 02 PHP
php使用sql server验证连接数据库的方法
Dec 25 PHP
Yii框架调试心得--在页面输出执行sql语句
Dec 25 PHP
php文件夹的创建与删除方法
Jan 24 PHP
图文详解PHP环境搭建教程
Jul 16 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
Sep 22 PHP
PHP编程实现csv文件导入mysql数据库的方法
Apr 29 PHP
老生常谈PHP面向对象之标识映射
Jun 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
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
PHP实现的简单sha1加密功能示例
2017/08/27 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
Laravel 5.5 异常处理 &amp; 错误日志的解决
2019/10/17 PHP
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
html组件不可输入(只读)同时任何组件都有效
2013/04/01 Javascript
js同比例缩放图片的小例子
2013/10/30 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
2015/10/01 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
2017/11/22 Javascript
微信小程序开发之改变data中数组或对象的某一属性值
2018/07/05 Javascript
JavaScript new对象的四个过程实例浅析
2018/07/31 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
详解vue 在移动端体验上的优化解决方案
2019/05/20 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
Python 调用DLL操作抄表机
2009/01/12 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
2019/02/27 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
Python简单实现区域生长方式
2020/01/16 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Python实现汇率转换操作
2020/05/03 Python
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
项目建议书模板
2014/05/12 职场文书
学生安全责任书模板
2014/07/25 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
办理房产证委托书
2014/09/18 职场文书
在职员工证明书
2014/09/19 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
作弊检讨书
2015/01/27 职场文书
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android