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 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::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::_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,包含了
-
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::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::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::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::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::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::inTransaction讲解
PDO::inTransaction PDO::inTransaction - 检查是否在一个事务内(PHP 5 >= 5.3.3, Bundled pdo_pgsql) 说明 语法 bool PDO::inTransaction ( void ) 检查驱动内的一个事务当前是否处于激活.此方法仅对支持事务的数据库驱动起作用. 参数 此函数没有参数. 返回值 如果当前事务处于激活,则返回 TRUE ,否则返回 FALSE . 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具
随机推荐
- 封装ThinkPHP的一个文件上传方法实例
- Windows下实现Python2和Python3两个版共存的方法
- jQuery循环滚动展示代码 可应用到文字和图片上
- Javascript继承机制的设计思想分享
- Java实现拖拽文件上传dropzone.js的简单使用示例代码
- Java线程代码的实现方法
- functional继承模式 摘自javascript:the good parts
- 如何使用Bootstrap 按钮实例详解
- PHP开发中常用的字符串操作函数
- php+xml结合Ajax实现点赞功能完整实例
- PHP sprintf() 函数的应用(定义和用法)
- C#基于正则表达式抓取a标签链接和innerhtml的方法
- C#中的匿名方法实例解析
- 在win10系统下安装Mysql 5.7.17图文教程
- Android App中ViewPager与Fragment结合的一些问题解决
- Android Studio下载更新Android SDK网络异常或无法下载
- firefox css自动换行的实现方法
- 基于jquery的商品展示放大镜
- Android 网络图片查看器与网页源码查看器
- web服务器集群(多台web服务器)session同步、共享的3种解决方法
