定義:PDO
事務功能,並非PDO
額外多出了一項功能,而是將原來MySQL
所支援的事務操作進行了一定的封裝實現。注意:事務執行是否成功是由MySQL
對應的儲存引擎是否支援決定的。
1.交易功能回顧:交易是指改變預設的一次作業一次寫入資料表的機制,而是透過交易日誌記錄操作,最後透過一次操作寫入到數據表。
開啟交易:start transaction
,寫入操作停止直接寫入資料表,而是記錄到交易日誌
事務操作:特定的寫入操作,通常多個步驟多條指示
commit,所有交易日誌內容同步到資料表,並清除目前交易日誌
rollback,直接清除目前交易日誌
# 2.PDO類別中提供一套方案來實現事務操作<?php
$pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database','root','root');
$pdo->beginTransaction() or die('事务开启失败');//开启事务
$pdo->exec('insert into student values()');//执行事务
//终止事务
$pdo->commit(); //成功提交
$pdo->rollback(); //失败回滚
3.在事務作業中,有一種回滾點
機制,在PDO
SQL指令設定來實現<?php
$pdo = new PDO('mysql:host=localhost;port=3306;dbname=my_database','root','root');
$pdo->beginTransaction() or die('事务开启失败');//开启事务
$pdo->exec('insert into student values()');//执行事务
//设置回滚点
$pdo->exec('savepoint sp1');
//继续执行事务...
//回滚
$pdo->exec('rollback to sp1');
//终止事务
$pdo->commit(); //成功提交
$pdo->rollback(); //失败回滚
?>
以上是關於PDO事務功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!