PHP
PHP 教程
PHP 简介
PHP 安装
PHP 语法
PHP 变量
PHP echo/print
PHP 数据类型
PHP 常量
PHP 字符串
PHP 运算符
PHP If...Else
PHP Switch
PHP 数组
PHP 数组排序
PHP 超级全局变量
PHP While 循环
PHP For 循环
PHP 函数
PHP 魔术变量
PHP 命名空间
PHP 表单
PHP 表单
PHP 表单验证
PHP 表单 - 必需字段
PHP 表单 - 验证邮件和URL
PHP 完整表单实例
PHP $_GET 变量
PHP $_POST 变量
PHP 高级教程
PHP 多维数组
PHP 高级过滤器
PHP 日期
PHP JSON
PHP 包含
PHP 文件
PHP 文件上传
PHP Cookies
PHP Sessions
PHP E-mail
PHP 安全 E-mail
PHP Error
PHP Exception
PHP 过滤器
PHP 数据库
PHP MySQL 简介
PHP MySQL 连接
PHP MySQL 创建数据库
PHP MySQL 创建数据表
PHP MySQL 插入数据
PHP MySQL 插入多条数据
PHP MySQL 预处理语句
PHP MySQL 读取数据
PHP MySQL Where
PHP MySQL Order By
PHP MySQL Update
PHP MySQL Delete
PHP ODBC
PHP XML
XML Expat Parser
XML DOM
XML SimpleXML
PHP 与 AJAX
AJAX 简介
AJAX PHP
AJAX 数据库
AJAX XML
AJAX 实时搜索
AJAX RSS Reader
AJAX 投票
PHP 参考手册
PHP Array
PHP Calendar
PHP cURL
PHP Date
PHP Directory
PHP Error
PHP Filesystem
PHP Filter
PHP FTP
PHP HTTP
PHP Libxml
PHP Mail
PHP Math
PHP Misc
PHP MySQLi
PHP PDO
PHP SimpleXML
PHP String
PHP XML
PHP Zip
PHP Timezones
PHP 图像处理
PDO::rollBack
PDO::rollBack — 回滚一个事务(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
说明
语法
bool PDO::rollBack ( void )
回滚由 PDO::beginTransaction() 发起的当前事务。如果没有事务激活,将抛出一个 PDOException 异常。
如果数据库被设置成自动提交模式,此函数(方法)在回滚事务之后将恢复自动提交模式。
包括 MySQL 在内的一些数据库, 当在一个事务内有类似删除或创建数据表等 DLL 语句时,会自动导致一个隐式地提交。隐式地提交将无法回滚此事务范围内的任何更改。
返回值
成功时返回 TRUE, 或者在失败时返回 FALSE。
实例
回滚一个事务
下面例子在回滚更改之前开始一个事务并发出两条修改数据库的语句。但在 MySQL 中,DROP TABLE 语句自动提交事务,因此在此事务内的任何更改都不会被回滚。
<?php /* 开始一个事务,关闭自动提交 */ $dbh->beginTransaction(); /* 更改数据库架构和数据 */ $sth = $dbh->exec("DROP TABLE fruit"); $sth = $dbh->exec("UPDATE dessert SET name = ‘hamburger‘"); /* 识别错误且回滚更改 */ $dbh->rollBack(); /* 此时数据库连接恢复到自动提交模式 */ ?>