PHP使用Mysql事務執行個體解析

來源:互聯網
上載者:User

 具體執行個體如下所示:

01 <?php
02 //資料庫連接
03 $conn = mysql_connect('localhost', 'root', '');
04 mysql_select_db('test', $conn);
05 mysql_query("SET NAMES GBK");
06   
07 /*
08 支援事務的表必須是InnoDB類型
09 一段事務中只能出現一次:
10 mysql_query('START TRANSACTION');//開始事務
11 mysql_query(' ROLLBACK ');//復原事務
12 mysql_query('COMMIT');//提交事務
13   
14 如果一段事務中出現多次復原事務,則在,提交事務時只將第一次復原前至開始事務後對資料庫的所有操作取消,第一次復原後至提交事務前所有對資料庫操作仍將有效,所以一般將復原語句僅放在提交事務語句前
15 如果一段事務無提交語句,則從開始事務時以下的所有對資料庫操作雖執行(執行方法返回對錯),但對資料庫無影響,但是在執行下段開始事務語句時,前段事務自動認可
16 */
17 mysql_query('START TRANSACTION');
18 $isBad = 0;
19   
20 $ins_testTable1 = "INSERT INTO testtable1(NAME,age)VALUES('first',23)";
21 if(!mysql_query($ins_testTable1)){
22   $isBad =1;
23 }
24 //插入語句欄位名有錯
25 $ins_testTable2 = "INSERT INTO testtable1(NAME,ages)VALUES('second','24')";
26 if(!mysql_query($ins_testTable2)){
27   $isBad =1;
28 }
29 if($isBad == 1){
30   echo $isBad;
31   mysql_query('ROLLBACK ');
32 }
33 mysql_query('COMMIT');
34 mysql_close($conn);
35 ?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.