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 相关文章推荐
URL Rewrite的设置方法
Jan 02 PHP
利用PHP和AJAX创建RSS聚合器的代码
Mar 13 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
php面向对象全攻略 (七) 继承性
Sep 30 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
Jul 03 PHP
在wamp集成环境下升级php版本(实现方法)
Jul 01 PHP
Yii统计不同类型邮箱数量的方法
Oct 18 PHP
PHP 7.1新特性的汇总介绍
Dec 16 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
CI框架网页缓存简单用法分析
Dec 26 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
Mar 01 PHP
tp5递归 无限级分类详解
Oct 18 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 cli 小技巧
2013/06/03 PHP
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
PHP7内核CGI与FastCGI详解
2019/04/14 PHP
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
Vue 实用分页paging实例代码
2017/04/12 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
Vue CLI2升级至Vue CLI3的方法步骤
2019/05/20 Javascript
python脚本监控docker容器
2016/04/27 Python
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
python和mysql交互操作实例详解【基于pymysql库】
2019/06/04 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
python遍历文件目录、批量处理同类文件
2019/08/31 Python
python线程信号量semaphore使用解析
2019/11/30 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
Tenstickers法国:墙贴和装饰贴纸
2019/08/26 全球购物
团队精神的演讲稿
2014/05/14 职场文书
“九一八事变纪念日”国旗下讲话稿
2014/09/14 职场文书
股东出资证明书(正规版)
2014/09/24 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
2014年环保局工作总结
2014/12/11 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
推荐信范文大全
2015/03/27 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS