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

PHP使用Mysql事務實例解析

編輯:PHP綜合

本文實例講解了PHP使用MySQL事物的實例,並備有注釋加以詳細說明。分享給大家供大家參考之用。

具體實例如下所示:

<?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);
?>

希望本文所述實例對大家PHP+MySQL程序設計的學習有所幫助。

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