程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中的事務使用實例

PHP中的事務使用實例

編輯:PHP綜合
<?php
//數據庫連接
$conn = mysql_connect('localhost', 'root', '');
mysql_select_db('test', $conn);
mysql_query("SET NAMES GBK");

/*
支持事務的表必須是InnoDB類型
一段事務中只能出現一次:
mysql_query('START TRANSACTION');//開始事務
mysql_query(' ROLLBACK ');//回滾事務
mysql_query('COMMIT');//提交事務

如果一段事務中出現多次回滾事務,則在,提交事務時只將第一次回滾前至開始事務後對數據庫的所有操作取消,第一次回滾後至提交事務前所有對數據庫操作仍將有效,所以一般將回滾語句僅放在提交事務語句前
如果一段事務無提交語句,則從開始事務時以下的所有對數據庫操作雖執行(執行方法返回對錯),但對數據庫無影響,但是在執行下段開始事務語句時,前段事務自動提交
*/
mysql_query('START TRANSACTION');
$isBad = 0;

$ins_testTable1 = "INSERT INTO testtable1(NAME,age)VALUES('first',23)";
if(!mysql_query($ins_testTable1)){
  $isBad =1;
}
//插入語句字段名有錯
$ins_testTable2 = "INSERT INTO testtable1(NAME,ages)VALUES('second','24')";
if(!mysql_query($ins_testTable2)){
  $isBad =1;
}
if($isBad == 1){
  echo $isBad;
  mysql_query('ROLLBACK ');
}
mysql_query('COMMIT');
mysql_close($conn);
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved