PDO::beginTransaction讲解

PDO::beginTransaction

PDO::beginTransaction 启动一个事务(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

说明

语法

bool PDO::beginTransaction ( void )

关闭自动提交模式。自动提交模式被关闭的同时,通过 PDO 对象实例对数据库做出的更改直到调用PDO::commit()结束事务才被提交。

调用PDO::rollBack()将回滚对数据库做出的更改并将数据库连接返回到自动提交模式。

包括 MySQL 在内的一些数据库,当发出一条类似 DROP TABLECREATE 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();
/* 数据库连接现在返回到自动提交模式 */
?>

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • PDO::errorCode讲解

    PDO::errorCode PDO::errorCode - 获取跟数据库句柄上一次操作相关的 SQLSTATE(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 mixed PDO::errorCode ( void ) 返回值 返回一个 SQLSTATE,一个由5个字母或数字组成的在 ANSI SQL 标准中定义的标识符. 简要地说,一个 SQLSTATE 由前面两个字符的类值和后面三个字符的子类值组成. 如果数据库句柄没有进行操作,则返回 NULL .

  • PDO::getAttribute讲解

    PDO::getAttribute PDO::getAttribute - 取回一个数据库连接的属性(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 mixed PDO::getAttribute ( int $attribute ) 此函数(方法)返回一个数据库连接的属性值. 取回 PDOStatement 属性,请参阅PDOStatement::getAttribute(). 注意有些数据库/驱动可能不支持所有的数据库连接属性. 参数说明: attribu

  • PDO::errorInfo讲解

    PDO::errorInfo PDO::errorCode - 返回最后一次操作数据库的错误信息(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 public array PDO::errorInfo ( void ) 返回值 返回一个数组,该数组包含了最后一次操作数据库的错误信息描述. 数组内容如下: 元素    信息 0          SQLSTATE 错误码 (5个字母或数字组成的在 ANSI SQL 标准中定义的标识符). 1          错

  • PDO::lastInsertId讲解

    PDO::lastInsertId PDO::lastInsertId - 返回最后插入行的ID或序列值(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 string PDO::lastInsertId ([ string $name = NULL ] ) 返回最后插入行的ID,或者是一个序列对象最后的值,取决于底层的驱动.比如,PDO_PGSQL() 要求为 name 参数指定序列对象的名称. 注意:在不同的 PDO 驱动之间,此方法可能不会返回一个有意义或

  • PDO::commit讲解

    PDO::commit PDO::commit提交一个事务(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 ```bool PDO::commit ( void ) 提交一个事务,数据库连接返回到自动提交模式直到下次调用 PDO::beginTransaction() 开始一个新的事务为止. ## 返回值 成功时返回 TRUE, 或者在失败时返回 FALSE. ## 实例 ### 提交一个基础事务 ```php <?php /* 开始一个事务,关闭自动提

  • PDO::inTransaction讲解

    PDO::inTransaction PDO::inTransaction - 检查是否在一个事务内(PHP 5 >= 5.3.3, Bundled pdo_pgsql) 说明 语法 bool PDO::inTransaction ( void ) 检查驱动内的一个事务当前是否处于激活.此方法仅对支持事务的数据库驱动起作用. 参数 此函数没有参数. 返回值 如果当前事务处于激活,则返回 TRUE ,否则返回 FALSE . 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具

  • PDO::prepare讲解

    PDO::prepare PDO::prepare - 准备要执行的SQL语句并返回一个 PDOStatement 对象(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 public PDOStatement PDO::prepare ( string $statement [, array $driver_options = array() ] ) 为PDOStatement::execute()方法准备要执行的SQL语句,SQL语句可以包含零个或多个命名(

  • PDO::exec讲解

    PDO::exec PDO::exec - 执行一条 SQL 语句,并返回受影响的行数(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 int PDO::exec ( string $statement ) PDO::exec() 在一个单独的函数调用中执行一条 SQL 语句,返回受此语句影响的行数. PDO::exec() 不会从一条 SELECT 语句中返回结果.对于在程序中只需要发出一次的 SELECT 语句,可以考虑使用PDO::query(). 参数

  • PDO::getAvailableDrivers讲解

    PDO::getAvailableDrivers PDO::getAvailableDrivers - 返回一个可用驱动的数组(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 static array PDO::getAvailableDrivers ( void ) array pdo_drivers ( void ) 此函数(方法)返回所有当前可用在PDO::_construct()的参数 DSN 中的 PDO 驱动. 返回值 PDO::getAvaila

  • PDO::_construct讲解

    PDO::_construct PDO::_construct - 创建一个表示数据库连接的 PDO 实例(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0) 说明 语法 PDO::_construct ( string $dsn [, string $username [, string $password [, array $driver_options ]]] ) 创建一个表示连接到请求数据库的数据库连接PDO实例. 参数说明 dsn :数据源名称或叫做 DSN,包含了

随机推荐