這篇文章主要介紹了PHP中PDO的事務處理,結合實例形式分析使用PDO進行事務處理的相關技巧,需要的朋友可以參考下
事務處理具有四個特性:原子性、一致性、獨立性、持久性。
並不是所有的資料庫都支援事務處理的,PDO 為能夠執行事務處理的資料庫提供事務支援。
設定事務處理需注意:
1、關閉PDO 的自動提交;
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);
2、開啟一個交易所需的方法;
$pdo->beginTransaction(); // 开启一个事务 $pdo->commit(); // 提交事务 $pdo->rollback(); // 回滚事务
3、一般事務處理是運行在try...catch...語句中,當事務失敗時執行catch 程式碼區段。
<?php try { $pdo->beginTransaction(); // 开启一个事务 $row = null; $row = $pdo->exec("xxx"); // 执行第一个 SQL if (!$row) throw new PDOException('提示信息或执行动作'); // 如出现异常提示信息或执行动作 $row = $pdo->exec("xxx"); // 执行第二个 SQL if (!$row) throw new PDOException('提示信息或执行动作'); $pdo->commit(); } catch (PDOException $e) { $pdo->rollback(); // 执行失败,事务回滚 exit($e->getMessage()); } ?>
在交易中的 SQL 語句,如果發生錯誤,那麼所有的 SQL 都不執行。當所有 SQL 有無誤的時候,才提交執行。
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
相關推薦:
以上是PHP中PDO的事務處理的方法及實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!