时间:2021-05-26
本文实例讲述了php+mysqli事务控制实现银行转账的方法。分享给大家供大家参考。具体分析如下:
事务控制,也就是说所有的语句执行成功后,才会提交。否则,如果前面有语句执行成功,而后面没有执行成功,则回滚到执行之前的状态。通过银行转账的案例来说明这个应用。一个账号转了钱出去,另一个账号必须有钱转入,这样才算成功。
代码如下:
<?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程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了php+Mysqli利用事务处理转账问题的方法。分享给大家供大家参考。具体实现方法如下:set_charset("utf8");if($mysql
本文实例讲述了php+mysqli使用面向对象方式查询数据库的方法。分享给大家供大家参考。具体实现方法如下:connect_error){//connect_e
本文实例讲述了php+mysqli使用面向对象方式更新数据库的方法,分享给大家供大家参考。具体实现方法如下:复制代码代码如下:connect_error){//
本文实例讲述了php+mysqli批量查询多张表数据的方法。分享给大家供大家参考。具体实现方法如下:注意这里使用到了两个新的函数multi_query与stor
本文实例讲述了php+mysqli实现将数据库中一张表信息(包括表头)打印到表格里的方法。分享给大家供大家参考。具体如下:这段代码将就看吧。需要学习基础知识。代