MySQLi面向過程實踐---事務處理
阿新 • • 發佈:2017-09-22
target param mysql fin cal 存儲引擎 roo 進行 div
數據庫的事務處理參見另一篇博客,用PDO實現,和MySQLi操作幾乎沒有差別,地址是http://www.cnblogs.com/-beyond/p/7551177.html
註意要進行事務處理的表格的存儲引擎選擇Innodb,而非MyISAM
事務處理需要用到以下函數
bool mysqli_begin_transaction ( mysqli $link [, int $flags [, string $name ]] ) bool mysqli_commit ( mysqli $link )
bool mysqli_rollback ( mysqli$link
)
具體事例如下:
<?php $conn=mysqli_connect("localhost","root","root","test"); //開啟事務 mysqli_begin_transaction($conn); try{ mysqli_query($conn,"delete from aaa where uid = 99"); //提交操作 mysqli_commit($conn); echo "finished\n"; }catch (Exception $e){ echo "failed\n"; echo $e->getMessage(); //如果出現錯誤,則撤銷開啟事務以後的所有操作 mysqli_rollback($conn); } //提交 mysqli_commit($conn); //關閉數據庫 mysqli_close($conn); ?>
MySQLi面向過程實踐---事務處理