微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PDO::beginTransaction

语法

bool PDO::beginTransaction ( void )

关闭自动提交模式。自动提交模式被关闭的同时,通过 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 = ‘hamburger‘");

/*  识别出错误并回滚更改 */
$dbh->rollBack();

/* 数据库连接现在返回到自动提交模式 */
?>

  东莞大理石量具维修

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐