這篇文章主要介紹了PHP中的事務(wù)使用實(shí)例,本文給出了最簡單的入門級實(shí)例,需要的朋友可以參考下
- <?php
- //數(shù)據(jù)庫連接
- $conn = mysql_connect('localhost', 'root', '');
- mysql_select_db('test', $conn);
- mysql_query("SET NAMES GBK");
- /*
- 支持事務(wù)的表必須是InnoDB類型
- 一段事務(wù)中只能出現(xiàn)一次:
- mysql_query('START TRANSACTION');//開始事務(wù)
- mysql_query(' ROLLBACK ');//回滾事務(wù)
- mysql_query('COMMIT');//提交事務(wù)
- 如果一段事務(wù)中出現(xiàn)多次回滾事務(wù),則在,提交事務(wù)時(shí)只將第一次回滾前至開始事務(wù)后對數(shù)據(jù)庫的所有操作取消,第一次回滾后至提交事務(wù)前所有對數(shù)據(jù)庫操作仍將有效,所以一般將回滾語句僅放在提交事務(wù)語句前
- 如果一段事務(wù)無提交語句,則從開始事務(wù)時(shí)以下的所有對數(shù)據(jù)庫操作雖執(zhí)行(執(zhí)行方法返回對錯(cuò)),但對數(shù)據(jù)庫無影響,但是在執(zhí)行下段開始事務(wù)語句時(shí),前段事務(wù)自動提交
- */
- mysql_query('START TRANSACTION');
- $isBad = 0;
- $ins_testTable1 = "INSERT INTO testtable1(NAME,age)VALUES('first',23)";
- if(!mysql_query($ins_testTable1)){
- $isBad =1;
- }
- //插入語句字段名有錯(cuò)
- $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);
- ?>
新聞熱點(diǎn)
疑難解答