php事務回滾

2022-02-05 14:07:00 字數 772 閱讀 4786

<?php  

$mysqli = new mysqli("127.0.0.1","root","111111","test");

if ($mysqli->connect_errno)

//預設auto-commit 是開啟的,可直接提交sql語句

$b1 = $mysqli->query("insert into test (id,name) values (0,'000')");

//若要執行事務,先關閉auto-commit

//關閉 auto-commit

$mysqli->autocommit(false);

$res1 = $mysqli->query("insert into test (id,n1ame) values (1,'111')");

$b2 = $mysqli->query("insert into test (id,name) values (2,'222')");

//有一條失敗則回滾,全部成功則提交

if(!$res1 || !$b2) else

//若想再次自動提交非事務語句,要開啟auto-commit

$mysqli->autocommit(true);

$b3 = $mysqli->query("insert into test (id,name) values (3,'333')");

//關閉連線

$mysqli->close();

?>

事務回滾與手動回滾

一般我們在開發時,在方法或者類上加了 transactional事務註解,然後會用 try catch 將可能會出問題的 塊包起來,在catch裡面處理捕獲的異常,但是,如果在catch裡面沒有把異常丟擲去,此時事務是不會自動回滾的 比如這種情況 這裡既沒有丟擲異常,也沒有手動回滾,在插入流水表之後...

事務回滾反思

自己以後就用這個部落格了,部落格的更改給大家帶來了很多不便,以前的部落格 停用,因為對於專業的人來說應該用專業的東西,用龐大的技術去顯示it技術的魅力,顯示我們是一支龐大的力量。今天技術總結,看到師姐寫得事件回滾,自己就研究去了,看到有個for迴圈自己感覺這是正確格式麼,自己很迷信的相信然後就以這樣...

PHP PDO事務回滾

trycatch pdoexception e 事務處理 try where id 1 affected rows pdo exec sql if affected rows throw new pdoexception 張三轉出失敗 那個錯誤丟擲異常 sql update zhanghao set...