php+mysqli事务控制实现银行转账实例


Posted in PHP onJanuary 29, 2015

本文实例讲述了php+mysqli事务控制实现银行转账的方法。分享给大家供大家参考。具体分析如下:

事务控制,也就是说所有的语句执行成功后,才会提交。否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态。通过银行转账的案例来说明这个应用。一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功。

代码如下:

<?php
//1、创建数据库连接对象
$mysqli = new MySQLi("localhost","root","123456","liuyan");
if($mysqli->connect_error){
 die($mysqli->connect_error);
}
$mysqli->query("set names 'GBK'");

$mysqli->autocommit(false);
//首先设置autocommit为false,也就是不自动提交

$sql1 = "update account set balance=balance-2 where id=1;";
$sql2 = "update account set balance=balance+2 where id=2;";
$res1 =$mysqli->query($sql1) or die($mysqli->error);
$res2 =$mysqli->query($sql2) or die($mysqli->error);

if(!$res1 || !$res2){
 echo "转账失败";
 $mysqli->rollback();//如果有一条不成功,则回滚
}else{
 $mysqli->commit();//两条语句都执行成功,则提交
 echo "转账成功";
}
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
ajax实现无刷新分页(php)
Jul 18 PHP
PHP读取txt文件的内容并赋值给数组的代码
Nov 03 PHP
浅析php插件 HTMLPurifier HTML解析器
Jul 01 PHP
php生成随机密码自定义函数代码(简单快速)
May 10 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
Aug 04 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
Aug 21 PHP
php内存缓存实现方法
Jan 24 PHP
codeigniter中view通过循环显示数组数据的方法
Mar 20 PHP
Laravel中的Auth模块详解
Aug 17 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
详解PHP 7.4 中数组延展操作符语法知识点
Jul 19 PHP
基于PHP实现短信验证码发送次数限制
Jul 11 PHP
php+mysqli批量查询多张表数据的方法
Jan 29 #PHP
php+mysqli实现批量执行插入、更新及删除数据的方法
Jan 29 #PHP
php+mysqli使用面向对象方式查询数据库实例
Jan 29 #PHP
php+mysqli使用面向对象方式更新数据库实例
Jan 29 #PHP
新浪SAE搭建PHP项目教程
Jan 28 #PHP
php+mysqli数据库连接的两种方式
Jan 28 #PHP
PHP实现返回JSON和XML的类分享
Jan 28 #PHP
You might like
全国FM电台频率大全 - 30 宁夏回族自治区
2020/03/11 无线电
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
PHP常用处理静态操作类
2015/04/03 PHP
php生成二维码
2015/08/10 PHP
yii2分页之实现跳转到具体某页的实例代码
2016/06/02 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
Javascript &amp; DHTML 实例编程(教程)DOM基础和基本API
2007/06/02 Javascript
flash javascript之间的通讯方法小结
2008/12/20 Javascript
JS运行耗时操作的延时显示方法
2010/11/19 Javascript
javascript变量声明实例分析
2015/04/25 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
理解nodejs的stream和pipe机制的原理和实现
2017/08/12 NodeJs
基于原生js运动方式关键点的总结(推荐)
2017/10/01 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
JavaScript实现矩形块大小任意缩放
2020/08/25 Javascript
Python中的各种装饰器详解
2015/04/11 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
python删除某个目录文件夹的方法
2020/05/26 Python
python怎么对数字进行过滤
2020/07/05 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
python中pow函数用法及功能说明
2020/12/04 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
Boda Skins皮衣官网:奢侈皮夹克,全球配送
2016/12/15 全球购物
日本乐天官方海外转运服务:Rakuten Global Express
2018/11/30 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
村党支部公开承诺书
2014/05/29 职场文书
开展读书活动总结
2014/06/30 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书