php+mysqli事务控制实现银行转账实例
2023-06-13 09:15:43 时间
本文实例讲述了php+mysqli事务控制实现银行转账的方法。分享给大家供大家参考。具体分析如下:
事务控制,也就是说所有的语句执行成功后,才会提交。否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态。通过银行转账的案例来说明这个应用。一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功。
代码如下:
<?php //1、创建数据库连接对象 $mysqli=newMySQLi("localhost","root","123456","liuyan"); if($mysqli->connect_error){ die($mysqli->connect_error); } $mysqli->query("setnames"GBK""); $mysqli->autocommit(false); //首先设置autocommit为false,也就是不自动提交 $sql1="updateaccountsetbalance=balance-2whereid=1;"; $sql2="updateaccountsetbalance=balance+2whereid=2;"; $res1=$mysqli->query($sql1)ordie($mysqli->error); $res2=$mysqli->query($sql2)ordie($mysqli->error); if(!$res1||!$res2){ echo"转账失败"; $mysqli->rollback();//如果有一条不成功,则回滚 }else{ $mysqli->commit();//两条语句都执行成功,则提交 echo"转账成功"; } ?>
希望本文所述对大家的php程序设计有所帮助。
相关文章
- php 实现工厂模式 实例[通俗易懂]
- 测试MySQL触发器构建:PHP测试实例(mysql触发器php)
- php在Linux上使用Yaf框架开发PHP应用(yaflinux)
- PHP启用Redis:轻松灵活的缓存服务(php开启redis)
- PHP如何连接MSSQL数据库?(php连接mssql)
- 使用PHP在Linux系统中运行命令(php运行linux命令)
- PHP文件快速导入MySQL数据库(php文件导入mysql)
- 使用PHP连接远程MSSQL服务器(php连接远程mssql)
- 利用PHP和MySQL建立连接的简单方式(php和mysql 连接)
- Linux下编译安装PHP:一步步走向稳定性(linux编译安装php)
- MySQL中strcmp函数的用法和实例解析(mysql中strcmp)
- 用PHP实现Redis缓存一个实例(redis缓存实例php)
- ASP注册登陆实例代码
- php生成xml简单实例代码
- php中DOMElement操作xml文档实例演示
- Java调用DOS实现定时关机的实例
- php批量替换html标签的实例代码
- JS实现多物体缓冲运动实例代码
- php中Array2xml类实现数组转化成XML实例
- ruby实现的一个异步文件下载HttpServer实例
- winform中的ListBox和ComboBox绑定数据用法实例
- C#中自定义事件和委托实例
- Java中使用阻塞队列控制线程集实例