php增加事務 PHP中的事務使用例項

2021-10-22 21:52:55 字數 994 閱讀 6312

//資料庫連線

$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增加事務 php 事務

標籤 dbhost localhost 3306 mysql伺服器主機位址 dbname test dbuser root mysql使用者名稱 dbpass root mysql使用者名稱密碼 conn mysqli connect dbhost,dbuser,dbpass,dbname if c...

php 事務簡單實現

db new mysqli localhost root test 連線資料庫 db autocommit false 設定為非自動提交 事務處理 sql1 insert into test test1 name values 1 result1 db query sql1 sql2 insert ...

PHP開啟MySQL事務

db new mysqli localhost root test 連線資料庫 db autocommit false 設定為非自動提交 事務處理 sql1 insert into test test1 name values 1 result1 db query sql1 sql2 insert ...