php+mysqli事務(wù)控制實(shí)現(xiàn)銀行轉(zhuǎn)賬實(shí)例
本文實(shí)例講述了php+mysqli事務(wù)控制實(shí)現(xiàn)銀行轉(zhuǎn)賬的方法。分享給大家供大家參考。具體分析如下:
事務(wù)控制,也就是說(shuō)所有的語(yǔ)句執(zhí)行成功后,才會(huì)提交。否則,如果前面有語(yǔ)句執(zhí)行成功,而后面沒有執(zhí)行成功,則回滾到執(zhí)行之前的狀態(tài)。通過(guò)銀行轉(zhuǎn)賬的案例來(lái)說(shuō)明這個(gè)應(yīng)用。一個(gè)賬號(hào)轉(zhuǎn)了錢出去,另一個(gè)賬號(hào)必須有錢轉(zhuǎn)入,這樣才算成功。
代碼如下:
<?php //1、創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象 $mysqli = new MySQLi("localhost","root","123456","liuyan"); if($mysqli->connect_error){ die($mysqli->connect_error); } $mysqli->query("set names 'GBK'"); $mysqli->autocommit(false); //首先設(shè)置autocommit為false,也就是不自動(dòng)提交 $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 "轉(zhuǎn)賬失敗"; $mysqli->rollback();//如果有一條不成功,則回滾 }else{ $mysqli->commit();//兩條語(yǔ)句都執(zhí)行成功,則提交 echo "轉(zhuǎn)賬成功"; } ?>
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
相關(guān)文章
php強(qiáng)制下載類型的實(shí)現(xiàn)代碼
有時(shí)需要一些文件不能在線打開,而是執(zhí)行后需要下載,這時(shí)就用這個(gè)函數(shù)就可以解決了2011-04-04php使用explode()函數(shù)將字符串拆分成數(shù)組的方法
這篇文章主要介紹了php使用explode()函數(shù)將字符串拆分成數(shù)組的方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02通過(guò)緩存數(shù)據(jù)庫(kù)結(jié)果提高PHP性能的原理介紹
眾所周知,緩存數(shù)據(jù)庫(kù)查詢的結(jié)果可以顯著縮短腳本執(zhí)行時(shí)間,并最大限度地減少數(shù)據(jù)庫(kù)服務(wù)器上的負(fù)載。如果要處理的數(shù)據(jù)基本上是靜態(tài)的,則該技術(shù)將非常有效。這是因?yàn)閷?duì)遠(yuǎn)程數(shù)據(jù)庫(kù)的許多數(shù)據(jù)請(qǐng)求最終可以從本地緩存得到滿足,從而不必連接到數(shù)據(jù)庫(kù)、執(zhí)行查詢以及獲取結(jié)果2012-09-09解析用PHP實(shí)現(xiàn)var_export的詳細(xì)介紹
本篇文章是對(duì)使用PHP實(shí)現(xiàn)var_export的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php中DOMElement操作xml文檔實(shí)例演示
DOMElement操作xml想必大家有所耳聞,接下來(lái)為大家以實(shí)例介紹下,感興趣的朋友可以參考下哈,2013-03-03php實(shí)現(xiàn)保存submit內(nèi)容之后禁止刷新
這篇文章主要介紹了php保存submit內(nèi)容之后禁止刷新的具體實(shí)現(xiàn),需要的朋友可以參考下2014-03-03PHP實(shí)現(xiàn)可自定義樣式的分頁(yè)類
這篇文章主要介紹了PHP實(shí)現(xiàn)可自定義樣式的分頁(yè)類,可以自定義分頁(yè)樣式,感興趣的小伙伴們可以參考一下2016-03-03PHP簡(jiǎn)單實(shí)現(xiàn)解析xml為數(shù)組的方法
這篇文章主要介紹了PHP簡(jiǎn)單實(shí)現(xiàn)解析xml為數(shù)組的方法,涉及php文件讀取、xml解析相關(guān)操作技巧,需要的朋友可以參考下2018-05-05php數(shù)組函數(shù)序列之a(chǎn)rray_key_exists() - 查找數(shù)組鍵名是否存在
array_key_exists() 函數(shù)判斷某個(gè)數(shù)組中是否存在指定的 key,如果該 key 存在,則返回 true,否則返回 false2011-10-10