微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

代码如下:

rush:PHP;"> 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程序设计有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐