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 日常开发小技巧
Sep 23 PHP
php新建文件自动编号的思路与实现
Jun 27 PHP
PHP 查找字符串常用函数介绍
Jun 07 PHP
yii框架配置默认controller和action示例
Apr 30 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
Jun 06 PHP
php微信公众平台开发(一) 配置接口
Dec 06 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
PHP实时统计中文字数和区别
Feb 28 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
phpQuery采集网页实现代码实例
Apr 02 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数组函数
2008/08/18 PHP
php去除HTML标签实例
2013/11/06 PHP
PHP获取一年有几周以及每周开始日期和结束日期
2015/08/06 PHP
Laravel网站打开速度优化的方法汇总
2017/07/16 PHP
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
JS实现的颜色实时渐变效果完整实例
2016/03/25 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
JS简单生成两个数字之间随机数的方法
2016/08/03 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
微信小程序  audio音频播放详解及实例
2016/11/02 Javascript
JQuery获取鼠标进入和离开容器的方向
2016/12/29 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
详解Vue源码学习之callHook钩子函数
2018/07/25 Javascript
JavaScript实现Tab选项卡切换
2020/02/13 Javascript
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
详解python列表生成式和列表生成式器区别
2019/03/27 Python
Python实现字典按key或者value进行排序操作示例【sorted】
2019/05/03 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
在python中画正态分布图像的实例
2019/07/08 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2019/09/17 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
热能动力工程毕业生自荐信
2013/11/07 职场文书
运动会广播稿200字
2014/01/15 职场文书
高中生期末评语大全
2014/01/28 职场文书
社会实践评语
2014/04/28 职场文书
社区服务标语
2014/07/01 职场文书
党员学习党的群众路线思想汇报(5篇)
2014/09/10 职场文书
2014年营销工作总结
2014/11/22 职场文书
写给领导的感谢信
2015/01/22 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang
win10忘记pin密码登录不了怎么办?win10忘记pin密码登不进去的解决方法
2022/07/07 数码科技