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 相关文章推荐
加强版phplib的DB类
Mar 31 PHP
也谈php网站在线人数统计
Apr 09 PHP
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
PHP 日期加减的类,很不错
Oct 10 PHP
深入PHP curl参数的详解
Jun 17 PHP
php缩小png图片不损失透明色的解决方法
Dec 25 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
Jul 04 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
php使用MySQL保存session会话的方法
Jun 18 PHP
PHP入门教程之上传文件实例详解
Sep 11 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
swoole_process实现进程池的方法示例
Oct 29 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 数组的指针操作实现代码
2011/02/08 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
jQuery实现简单的点赞效果
2020/05/29 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
Python 自动安装 Rising 杀毒软件
2009/04/24 Python
Python中input和raw_input的一点区别
2014/10/21 Python
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
django 修改server端口号的方法
2018/05/14 Python
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
Python SQLAlchemy入门教程(基本用法)
2019/11/11 Python
python 遍历pd.Series的index和value
2019/11/26 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
Flask模板引擎Jinja2使用实例
2020/04/23 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
HTML5实现经典坦克大战坦克乱走还能发出一个子弹
2013/09/02 HTML / CSS
Smashbox英国官网:美国知名彩妆品牌
2017/11/13 全球购物
师范毕业生自荐信
2013/10/17 职场文书
函授自我鉴定
2013/11/06 职场文书
高一学生评语大全
2014/04/25 职场文书
涉密人员保密承诺书
2014/05/28 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
毕业生捐书活动倡议书
2015/04/27 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书