php mysql事务处理回滚操作
生活随笔
收集整理的這篇文章主要介紹了
php mysql事务处理回滚操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
很多新手在進行項目過程中,會碰到這樣一種情況,如:論壇扣幣項目中,用戶支付論壇幣的時候如果突然斷網、電腦死機、停電、等其它自然災害時,導致本次交易沒有成功(即用戶的幣已經扣掉了,但是服務器數據庫中沒有消費記錄等其它情況),這種情況應該怎么樣進行處理呢?
在這個時候,我們可以用Mysql事務回滾來進行處理,那代碼怎么寫呢??
那下面我就來說一說這個mysql事務回滾應該怎么處理。?
首先MYSQL中只有INNODB和BDB類型的數據表才能支持事務處理!其他的類型是不支持的!
那如果,我們的數據表已經存在,并且不是上面所說的兩種類型的話,應該怎么辦呢?
1、我可以去找一個叫MySQL-Front的軟件,里面能更改表類型。
2、我們也可以通過SQL語句來更改,sql語句可以這樣寫:
| ALTER ??TABLE ??TABLENAME ??type ??= ??InnoDB; 將需要修類型的表全更改完成后,我們可以到PHP文件中用代碼進行測試了。 |
PHP code
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 '數據回滾。';? }? mysql_query("END");? 看到這里,應該知道怎么用PHP來處理mysql的事務回滾了吧。很簡單吧總結
以上是生活随笔為你收集整理的php mysql事务处理回滚操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql事务的提交和回滚
- 下一篇: php中对MYSQL操作之事务控制,回滚