ホームページ >php教程 >php手册 >php+mysqli事务控制实现银行转账实例

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

WBOY
WBOYオリジナル
2016-06-06 20:11:561220ブラウズ

这篇文章主要介绍了php+mysqli事务控制实现银行转账,实例分析了事物控制的原理与事物回滚的使用技巧,需要的朋友可以参考下

本文实例讲述了php+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程序设计有所帮助。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。