PDO::commit
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語句後就自動提交事務。