PHP PDO::commit() 方法
PHP 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(); /* 删除表 */ $stmt = $dbh->exec("DROP TABLE fruit"); /* 更改数据库架构 */ $dbh->commit(); /* 现在数据库连接返回到自动提交模式 */
注意: 并不是所有数据库都允许使用 DDL 语句进行事务操作:
有些会产生错误,而其它一些(包括 MySQL )会在遇到第一个 DDL 语句后就自动提交事务