本文实例讲述了php+mysqli事务控制实现银行转账的方法。分享给大家供大家参考。具体分析如下:
事务控制,也就是说所有的语句执行成功后,才会提交。否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态。通过银行转账的案例来说明这个应用。一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功。
代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?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程序设计有所帮助。
相关文章
猜你喜欢
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-06-04 80
-
怎样在Windows Server 2008上监控网站流量和日志?
2025-05-25 94 -
2025-06-04 79
-
2025-05-27 51
-
2025-05-29 103
热门评论