PDO::beginTransaction

Posted furuihua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();

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

  东莞大理石量具维修

 

以上是关于PDO::beginTransaction的主要内容,如果未能解决你的问题,请参考以下文章

pdo知识点1

跟着百度学PHP[14]-PDO的构造方法

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?