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 相关文章推荐
Ajax PHP简单入门教程代码
Apr 25 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
PHP读取网页文件内容的实现代码(fopen,curl等)
Jun 23 PHP
php设计模式 Strategy(策略模式)
Jun 26 PHP
分享PHP header函数使用教程
Sep 05 PHP
ThinkPHP3.1之D方法实例详解
Jun 20 PHP
PHP实现克鲁斯卡尔算法实例解析
Aug 22 PHP
自定义session存储机制避免会话保持问题
Oct 08 PHP
PHP stream_context_create()函数的使用示例
May 12 PHP
浅谈PHP的反射API
Feb 26 PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 PHP
php实现将数据做成json的格式给前端使用
Aug 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
header跳转和include包含问题详解
2012/09/08 PHP
ThinkPHP之import方法实例详解
2014/06/20 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
javascript forEach通用循环遍历方法
2010/10/11 Javascript
文本框输入时 实现自动提示(像百度、google一样)
2012/04/05 Javascript
jquery()函数的三种语法介绍
2013/10/09 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
JavaScript中的比较操作符&gt;、=、
2014/12/31 Javascript
javascript比较两个日期的先后示例代码
2014/12/31 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
js微信分享实现代码
2020/10/11 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
[00:21]DOTA2亚洲邀请赛 Logo演绎
2015/02/07 DOTA
Python中的anydbm模版和shelve模版使用指南
2015/07/09 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
wxPython的安装与使用教程
2018/08/31 Python
Python拼接字符串的7种方法总结
2018/11/01 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
文员岗位职责
2013/11/09 职场文书
单位提档介绍信
2014/01/17 职场文书
协议书的格式
2014/04/23 职场文书
政府绩效管理实施方案
2014/05/04 职场文书
化妆品活动策划方案
2014/05/23 职场文书
党员教师批评与自我批评发言稿
2014/10/15 职场文书
python实现web邮箱扫描的示例(附源码)
2021/03/30 Python
使用numpy nonzero 找出非0元素
2021/05/14 Python
win10截图快捷键win+shift+s没有反应无法截图怎么解决?
2022/08/14 数码科技