要實現本功能的條件是環境 mysql 5.2 /php 5 支持事務的table 類型 需要InnoDB ,有了這些條件你就可以做上面的實現了,這個事物回滾操作是大項目經常用到的,像銀行,電子商務等都會用到,有需要的朋友可以參考一下。
近期項目軟件升級到支持事務處理,做個示例供大家學習參考
環境 mysql 5.2 /php 5
支持事務的table 類型 需要InnoDB
<?PHP
$LinkID =mysql_connect('localhost:3307','root',*******);
mysql_select_db('web_his',$LinkID);
mysql_query("set names utf8");
/* 創建事務 */
mysql_query('START TRANSACTION') or exit(mysql_error());
$ssql1="insert into pf_item values('22','我們','30')"; //執行sql 1
if(!mysql_query($ssql1)){
echo $ssql1.mysql_errno().":".mysql_error()."<br>";
mysql_query('ROLLBACK') or exit(mysql_error());//判斷當執行失敗時回滾
exit;
}
$ssql1="insert into pf_item values('21','hell','10')"; //執行sql 2
if(!mysql_query($ssql1)){
echo $ssql1.mysql_errno().":".mysql_error()."<br>";
mysql_query('ROLLBACK') or exit(mysql_error());//判斷當執行失敗時回滾
exit;
}
mysql_query('COMMIT') or exit(mysql_error());//執行事務
mysql_close($LinkID);
?>