如果乙個操作會改變資料庫多處資訊,並且這些資訊是密切相關的,為了確保每一處改動都是成功的,如果其中一處改動不成功,就將其它改動撤銷,以保證資料(事務)的完整性。
比如:你給我轉賬10000塊,需要把你的餘額減10000,我的加10000,如果萬一我的餘額寫入失敗,那麼理應你的餘額不變,
不然這10000就蒸發了~~
需要資料庫引擎支援事務處理。
比如 mysql 的 myisam 不支援事務處理,需要使用 innodb 引擎。
try
db::commit()
;$this
->
success
('完美一擊!');
}catch
(exception$e)
tp5快取應用例項
這裡的快取型別是file 1 第乙個例子 這裡舉例獲取 的文章導航,當使用者第一次訪問時是從資料庫裡查詢資料,然後生成快取檔案,再次訪問時直接從快取裡取資料 這也是最常見的快取應用 主頁的控制器 public function index else 省略其他資料 無論是更新,新增還是刪除,如果有快取...
tp5框架原理詳解 TP5框架安全機制例項分析
防止sql注入 1 查詢條件盡量使用陣列方式,具體如下 wheres array wheres account account wheres password password user where wheres find 2 如果必須使用字串,建議使用預處理機制,具體如下 user d useri...
tp5 事務處理
tp5 事務處理我理解的就是當兩個資料庫,或者連續操作關係很密切,你操作a會影響操作b時就需要手動事物處理。如果操作a成功操作b發生錯誤,如果不進行事物處理的話,雖然操作b會報錯,但是操作a是成功的,使用事物處理就會返回到操作前,舉個例子 我有100元,現在需求是要轉賬給你50,那麼簡單來說就需要兩...