PHP PDO事務回滾

2021-06-20 11:23:55 字數 620 閱讀 8974

<?php

trycatch(pdoexception $e)

/** 事務處理**/

try where id=1";

$affected_rows=$pdo->exec($sql);

if(!$affected_rows)

throw new pdoexception("張三轉出失敗");//那個錯誤丟擲異常

$sql="update zhanghao set price=price+ where id=3";

$affected_rows=$pdo->exec($sql);

if(!$affected_rows)

throw new pdoexception("向李四轉入失敗");

echo "交易成功!";

$pdo->commit();//交易成功就提交

}catch(pdoexception $e)

$pdo->setattribute(pdo::attr_autocommit, 1);//自動提交,如果最後不自動提交,轉賬是不成功的

//設定錯誤報告模式 errmode_silent errmode_warning

事務回滾與手動回滾

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

事務回滾反思

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

spring事務回滾

註解方式宣告事務,該事務宣告的範圍是service中的方法,而一般的事務宣告時不是宣告在 業務邏輯方法上的,而是宣告在單一的資料庫操作方法上的 transactional publicclassuserserviceimplimplementsuserservice,newint thrownewe...