解析php mysql 事務(wù)處理回滾操作(附實例)
很多新手在進(jìn)行項目過程中,會碰到這樣一種情況,如:論壇扣幣項目中,用戶支付論壇幣的時候如果突然斷網(wǎng)、電腦死機(jī)、停電、等其它自然災(zāi)害時,導(dǎo)致本次交易沒有成功(即用戶的幣已經(jīng)扣掉了,但是服務(wù)器數(shù)據(jù)庫中沒有消費記錄等其它情況),這種情況應(yīng)該怎么樣進(jìn)行處理呢?
在這個時候,我們可以用Mysql事務(wù)回滾來進(jìn)行處理,那代碼怎么寫呢?
那下面我就來說一說這個mysql事務(wù)回滾應(yīng)該怎么處理。
首先MYSQL中只有INNODB和BDB類型的數(shù)據(jù)表才能支持事務(wù)處理!其他的類型是不支持的!
那如果,我們的數(shù)據(jù)表已經(jīng)存在,并且不是上面所說的兩種類型的話,應(yīng)該怎么辦呢?
1、我可以去找一個叫MySQL-Front的軟件,里面能更改表類型。
2、我們也可以通過SQL語句來更改,sql語句可以這樣寫:
ALTER TABLE TABLENAME type = InnoDB;
將需要修類型的表全更改完成后,我們可以到PHP文件中用代碼進(jìn)行測試了。
mysql_query("BEGIN"); //或者mysql_query("START TRANSACTION");
$sql = "INSERT INTO ...";
$sql2 = "INSERT INTO ...";
$res = mysql_query($sql);
$res1 = mysql_query($sql2);
if($res && $res1){
mysql_query("COMMIT");
echo '提交成功。';
}else{
mysql_query("ROLLBACK");
echo '數(shù)據(jù)回滾。';
}
mysql_query("END");
看到這里,應(yīng)該知道怎么用PHP來處理mysql的事務(wù)回滾了吧。很簡單吧!
- ThinkPHP 3.2.2實現(xiàn)事務(wù)操作的方法
- Thinkphp事務(wù)操作實例(推薦)
- thinkPHP5.0框架事務(wù)處理操作簡單示例
- thinkPHP框架中執(zhí)行事務(wù)的方法示例
- ThinkPHP實現(xiàn)事務(wù)回滾示例代碼
- thinkphp 多表 事務(wù)詳解
- php中在PDO中使用事務(wù)(Transaction)
- php+mysql事務(wù)rollback&commit示例
- PHP中實現(xiàn)MySQL嵌套事務(wù)的兩種解決方案
- php事務(wù)回滾簡單實現(xiàn)方法示例
- thinkPHP事務(wù)操作簡單案例分析
相關(guān)文章
php中simplexml_load_file函數(shù)用法實例
這篇文章主要介紹了php中simplexml_load_file函數(shù)用法,以實例形式詳細(xì)的講述了simplexml_load_file函數(shù)讀取XML文件的具體方法,非常具有實用價值,需要的朋友可以參考下2014-11-11將IP地址轉(zhuǎn)換為整型數(shù)字的PHP方法、Asp方法和MsSQL方法、MySQL方法
本篇文章是對IP地址轉(zhuǎn)換為整型數(shù)字的PHP方法、Asp方法和MsSQL方法、MySQL方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07php+MySql實現(xiàn)登錄系統(tǒng)與輸出瀏覽者信息功能
這篇文章主要介紹了php+MySql實現(xiàn)登錄系統(tǒng)與輸出瀏覽者信息功能 的相關(guān)資料,需要的朋友可以參考下2016-07-07安裝apache2.2.22配置php5.4(具體操作步驟)
本篇文章是對安裝apache2.2.22配置php5.4的具體操作步驟進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php的list()的一步操作給一組變量進(jìn)行賦值的使用
我們在切割字符串可能會把切出來的數(shù)組一個一個付給每個變量,很麻煩的,我們可以用list()函數(shù)來完成2011-05-05