程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php+mysqli事務控制實現銀行轉賬實例

php+mysqli事務控制實現銀行轉賬實例

編輯:關於PHP編程

     這篇文章主要介紹了php+mysqli事務控制實現銀行轉賬,實例分析了事物控制的原理與事物回滾的使用技巧,需要的朋友可以參考

    本文實例講述了php+mysqli事務控制實現銀行轉賬的方法。分享給大家供大家參考。具體分析如下:

    事務控制,也就是說所有的語句執行成功後,才會提交。否則,如果前面有語句執行成功,而後面沒有執行成功,則回滾到執行之前的狀態。通過銀行轉賬的案例來說明這個應用。一個賬號轉了錢出去,另一個賬號必須有錢轉入,這樣才算成功。

    代碼如下:

      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <?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程序設計有所幫助。

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved