PDO::commit

PHP PDO 參考手冊PHP PDO 參考手冊

PDO::commit提交一個事務(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)


說明

語法

bool PDO::commit ( void )

提交一個事務,資料庫連接返回到自動提交模式直到下次調用 PDO::beginTransaction() 開始一個新的事務為止。


返回值

成功時返回 TRUE, 或者在失敗時返回 FALSE。

實例

提交一個基礎事務

<?php
/* 開始一個事務,關閉自動提交 */
$dbh->beginTransaction();

/* 在全有或全無的基礎上插入多行記錄(要麼全部插入,要麼全部不插入) */
$sql = 'INSERT INTO fruit
    (name, colour, calories)
    VALUES (?, ?, ?)';

$sth = $dbh->prepare($sql);

foreach ($fruits as $fruit) {
    $sth->execute(array(
        $fruit->name,
        $fruit->colour,
        $fruit->calories,
    ));
}

/* 提交更改 */
$dbh->commit();

/* 現在資料庫連接返回到自動提交模式 */
?>

提交一個DDL事務

<?php
/*  開始一個事務,關閉自動提交 */
$dbh->beginTransaction();

/* Change the database schema */
$sth = $dbh->exec("DROP TABLE fruit");

/* 更改資料庫架構 */
$dbh->commit();

/* 現在資料庫連接返回到自動提交模式 */
?>

注意:並不是所有資料庫都允許使用DDL語句進行事務操作:有些會產生錯誤,而其他一些(包括MySQL)會在遇到第一個DDL語句後就自動提交事務。


PHP PDO 參考手冊PHP PDO 參考手冊