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 修改zen-cart下单和付款流程以防止漏单
Mar 08 PHP
php中经典方法实现判断多维数组是否为空
Oct 23 PHP
php从右向左/从左向右截取字符串的实现方法
Nov 28 PHP
php curl 伪造IP来源的实例代码
Nov 01 PHP
PHP跳转页面的几种实现方法详解
Jun 08 PHP
解析php mysql 事务处理回滚操作(附实例)
Aug 05 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
May 04 PHP
PHP Hash算法:Times33算法代码实例
May 13 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
Aug 17 PHP
php nginx 实时输出的简单实现方法
Jan 21 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 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中获取变量的变量名的一段代码的bug分析
2011/07/07 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
JavaScript DOM 学习第七章 表单的扩展
2010/02/19 Javascript
jQuery each()方法的使用方法
2010/03/18 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
js 弹出新页面避免被浏览器、ad拦截的一种新方法
2014/04/30 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
2017/09/10 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
使用React-Router实现前端路由鉴权的示例代码
2020/07/26 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
wxPython学习之主框架实例
2014/09/28 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
PyQt5 多窗口连接实例
2019/06/19 Python
Python脚本利用adb进行手机控制的方法
2019/07/08 Python
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
Everything But Water官网:美国泳装品牌
2019/03/17 全球购物
广播电视新闻学专业应届生求职信
2013/10/08 职场文书
先进个人获奖感言
2014/01/24 职场文书
中文师范生自荐信
2014/01/30 职场文书
家长会主持词开场白
2014/03/18 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
硕士学位论文评语
2014/12/31 职场文书
大学生求职信怎么写
2015/03/19 职场文书
施工安全员岗位职责
2015/04/11 职场文书
药店营业员岗位职责
2015/04/14 职场文书
CSS3实现列表无限滚动/轮播效果
2021/06/23 HTML / CSS