首頁  >  文章  >  後端開發  >  PDO::beginTransaction用法詳解

PDO::beginTransaction用法詳解

藏色散人
藏色散人原創
2019-04-10 13:11:252993瀏覽

本篇文章主要來介紹PDO::beginTransaction的用法詳解,希望對需要的朋友有幫助!

PDO::beginTransaction用法詳解

PDO::beginTransaction(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO::beginTransaction啟動一個交易。

語法說明:

PDO::beginTransaction ( void ) : bool

#關閉自動提交模式。自動提交模式關閉的同時,透過 PDO 物件實例對資料庫所做的變更直到呼叫 PDO::commit() 結束交易才被提交。呼叫 PDO::rollBack() 將回滾對資料庫做出的變更並將資料庫連線傳回自動提交模式。

包括 MySQL 在內的一些資料庫,當發出類似 DROP TABLE 或 CREATE TABLE 這樣的 DDL 語句時,會自動進行一個隱含地交易提交。隱式地提交將阻止你在此交易範圍內回滾任何其他更改。

傳回值:

成功時傳回 TRUE, 或失敗時回傳 FALSE。

程式碼範例

回滾一個交易

下面範例在回滾此更改前開始一個事務並發出兩個修改資料庫的語句。但在 MySQL 中,DROP TABLE 語句會自動提交事務,使得在此事務中的任何變更都不會被回滾。

<?php
/* 开始一个事务,关闭自动提交 */
$dbh->beginTransaction();
/*  更改数据库架构及数据 */
$sth = $dbh->exec("DROP TABLE fruit");
$sth = $dbh->exec("UPDATE dessert
    SET name = &#39;hamburger&#39;");
/*  识别出错误并回滚更改 */
$dbh->rollBack();
/* 数据库连接现在返回到自动提交模式 */
?>

相關推薦:《PHP教學

以上是PDO::beginTransaction用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn