PDO::commit提交一筆交易(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
bool PDO::commit ( void )
提交一個事務,資料庫連線回到自動提交模式直到下次呼叫PDO::beginTransaction() 開始一個新的事務為止。
<?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();/*現在資料庫連線返回自動提交模式*/?>
<?php/* 開始一個事務,關閉自動提交*/$dbh->beginTransaction();/* Change the database schema */$sth = $dbh->exec("DROP TABLE fruit");/* 更改資料庫架構*/$dbh->commit();/* 現在資料庫連線回到自動提交模式*/?>
注意:並不是所有資料庫都允許使用DDL語句進行事務操作:有些會產生錯誤,而其他一些(包括MySQL)會在遇到第一個DDL語句後就自動提交交易。