這篇文章主要介紹了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);
- ?>
新聞熱點
疑難解答