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 15 PHP
解析php中如何直接执行SHELL
Jun 28 PHP
php实现telnet功能示例
Apr 08 PHP
PHP与MYSQL中UTF8 中文排序示例代码
Oct 23 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
简单谈谈PHP vs Node.js
Jul 17 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
Smarty日期时间操作方法示例
Nov 15 PHP
php 二维数组快速排序算法的实现代码
Oct 17 PHP
ThinkPHP3.2.3框架实现执行原生SQL语句的方法示例
Apr 03 PHP
php7新特性的理解和比较总结
Apr 14 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
ThinkPHP惯例配置文件详解
2014/07/14 PHP
关于php微信订阅号开发之token验证后自动发送消息给订阅号但是没有消息返回的问题
2015/12/21 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
PHP实现的62进制转10进制,10进制转62进制函数示例
2019/06/06 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
JQuery动态添加和删除表格行的方法
2015/03/09 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
如何处理JSON中的特殊字符
2016/11/30 Javascript
Vue.JS入门教程之列表渲染
2016/12/01 Javascript
Angular 项目实现国际化的方法
2018/01/08 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
JavaScript调用模式与this关键字绑定的关系
2018/04/21 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
webstorm+vue初始化项目的方法
2018/10/18 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
在vue中使用vuex,修改state的值示例
2019/11/08 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
2020/08/18 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
2015/03/19 Python
Python浅拷贝与深拷贝用法实例
2015/05/09 Python
python中import学习备忘笔记
2017/01/24 Python
python如何在列表、字典中筛选数据
2018/03/19 Python
使用openCV去除文字中乱入的线条实例
2020/06/02 Python
阿迪达斯印度官方商城:adidas India
2017/03/26 全球购物
拖鞋店创业计划书
2014/01/15 职场文书
广告设计应届生求职信
2014/03/01 职场文书
爱心捐款倡议书
2014/04/14 职场文书
合唱兴趣小组活动总结
2014/07/10 职场文书
综治工作心得体会
2014/09/11 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
检察院院长群众路线教育实践活动个人整改措施
2014/10/04 职场文书
八一建军节慰问信
2015/02/14 职场文书
2015年化验室工作总结
2015/04/23 职场文书
夫妻吵架保证书
2015/05/08 职场文书
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python