今天就跟大家聊聊有關如何在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中利用mysqli事務控制實現銀行轉賬功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。