php+mysqli事務控制實現銀行轉賬執行個體,mysqli銀行轉賬
本文執行個體講述了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程式設計有所協助。
http://www.bkjia.com/PHPjc/949450.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/949450.htmlTechArticlephp+mysqli事務控制實現銀行轉賬執行個體,mysqli銀行轉賬 本文執行個體講述了php+mysqli事務控制實現銀行轉賬的方法。分享給大家供大家參考。具體分...