php+Mysqli利用事务处理转账问题实例
本文实例讲述了php+Mysqli利用事务处理转账问题的方法。分享给大家供大家参考。具体实现方法如下:
<?php header("Content-type:text/html;charset=utf-8"); $mysqli=newmysqli("localhost","root","064319","php"); $mysqli->set_charset("utf8"); if($mysqli->connect_errno){ die('数据库连接失败'.$mysqli->connect_error); } $mysqli->autocommit(false);//自动提交模式设为false $flag=true;//事务是否成功执行的标志 $query="updateaccountsetbalance=balance-1000whereid=3"; $result=$mysqli->query($query); $affected_count=$mysqli->affected_rows; if(!result||$affected_count==0){//失败 $flag=false; } $query="updateaccountsetbalance=balance+1000whereid=2"; $result=$mysqli->query($query); $affected_count=$mysqli->affected_rows; if(!$result||$affected_count==0){ $flag=false; } if($flag){ $mysqli->commit(); echo'转账成功'; }else{ $mysqli->rollback(); echo'转账失败'; } $mysqli->autocommit(true);//重新设置事务为自动提交 $mysqli->close(); ?>
希望本文所述对大家的php程序设计有所帮助。