復制代碼 代碼如下:
 
mysql_query("BEGIN"); //或者mysql_query("START TRANSACTION"); 
//若不使用事務,則$sql執行成功,$sql1執行失敗 
$sql = " insert into test values('11','88') "; 
$sql1 = " insert into test values('11','88','444') "; 
$res = mysql_query($sql); 
$res1 = mysql_query($sql1); 
//因為使用了事務,則兩個insert都執行失敗 
if($res && $res1){ 
mysql_query("COMMIT"); 
} 
else{ 
mysql_query("ROLLBACK"); 
} 
mysql_query("END"); 
mysql_query("SET AUTOCOMMIT=0"); //設置mysql不自動提交,需自行用commit語句提交 
$sql = " insert into test values('11','88') "; 
$sql1 = " insert into test values('11','88','444') "; 
$res = mysql_query($sql); 
$res1 = mysql_query($sql1); 
//因為使用了事物,則兩個insert都執行失敗 
if($res && $res1){ 
mysql_query("COMMIT"); 
} 
else{ 
mysql_query("ROLLBACK"); 
} 
mysql_query("END"); 
復制代碼 代碼如下:
 
//MyISAM & InnoDB 都支持, 
//Notes:query語句不能寫在一起如:mysql_query("select * from a;select * from b;"); 
$sql_1=" LOCK TABLES test WRITE "; 
mysql_query($sql_1); 
$sql_2=" INSERT INTO test VALUES('".$a."','".$b."') "; 
if(mysql_query($sql_2)){ 
echo 'successful!'; 
}else{ 
echo 'Unsuccessful!'; 
} 
$sql_3=" UNLOCK TABLES "; 
mysql_query($sql_3); 
新聞熱點
疑難解答