解析php mysql 交易處理復原操作(附執行個體)_PHP教程

來源:互聯網
上載者:User
很多新手在進行項目過程中,會碰到這樣一種情況,如:論壇扣幣項目中,使用者支付論壇幣的時候如果突然斷網、電腦死機、停電、等其它自然災害時,導致本次交易沒有成功(即使用者的幣已經扣掉了,但是伺服器資料庫中沒有消費記錄等其它情況),這種情況應該怎麼樣進行處理呢?

在這個時候,我們可以用Mysql交易回復來進行處理,那代碼怎麼寫呢?
那下面我就來說一說這個mysql交易回復應該怎麼處理。

首先MYSQL中只有INNODB和BDB類型的資料表才能支援交易處理!其他的類型是不支援的!

那如果,我們的資料表已經存在,並且不是上面所說的兩種類型的話,應該怎麼辦呢?

1、我可以去找一個叫MySQL-Front的軟體,裡面能更改表類型。
2、我們也可以通過SQL語句來更改,sql語句可以這樣寫:
複製代碼 代碼如下:
ALTER TABLE TABLENAME type = InnoDB;

將需要修類型的表全更改完成後,我們可以到PHP檔案中用代碼進行測試了。

複製代碼 代碼如下:
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的交易回復了吧。很簡單吧!

http://www.bkjia.com/PHPjc/328083.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/328083.htmlTechArticle很多新手在進行項目過程中,會碰到這樣一種情況,如:論壇扣幣項目中,使用者支付論壇幣的時候如果突然斷網、電腦死機、停電、等其它...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.