zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

实例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程序设计有所帮助。