PHP中PDO的事务处理分析


Posted in PHP onApril 07, 2016

本文实例分析了PHP中PDO的事务处理。分享给大家供大家参考,具体如下:

事务处理具有四个特性:原子性、一致性、独立性、持久性。

并不是所有的数据库都支持事务处理的,PDO 为能够执行事务处理的数据库提供事务支持。

配置事务处理需注意:

1、关闭 PDO 的自动提交;

$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);

2、开启一个事务需要的方法;

$pdo->beginTransaction(); // 开启一个事务
$pdo->commit(); // 提交事务
$pdo->rollback(); // 回滚事务

3、一般事务处理是运行在 try...catch...语句中,当事务失败时执行 catch 代码段。

<?php
try {
  $pdo->beginTransaction(); // 开启一个事务
  $row = null;
  $row = $pdo->exec("xxx"); // 执行第一个 SQL
  if (!$row)
    throw new PDOException('提示信息或执行动作'); // 如出现异常提示信息或执行动作
  $row = $pdo->exec("xxx"); // 执行第二个 SQL
  if (!$row)
    throw new PDOException('提示信息或执行动作');
  $pdo->commit();
} catch (PDOException $e) {
  $pdo->rollback(); // 执行失败,事务回滚
  exit($e->getMessage());
}
?>

在事务中的 SQL 语句,如果出现错误,那么所有的 SQL 都不执行。当所有 SQL 有无误的时候,才提交执行。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
May 15 PHP
phpphp图片采集后按原路径保存图片示例
Feb 18 PHP
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
Jun 06 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
php中base_convert()进制数字转换函数实例
Nov 20 PHP
PHP实现递归无限级分类
Oct 22 PHP
全面了解PHP中的全局变量
Jun 17 PHP
Linux服务器下PHPMailer发送邮件失败的问题解决
Mar 04 PHP
PHP编程实现阳历转换为阴历的方法实例
Aug 08 PHP
原生php实现excel文件读写的方法分析
Apr 25 PHP
PHP实现的用户注册表单验证功能简单示例
Feb 25 PHP
PHP lcfirst()函数定义与用法
Mar 08 PHP
PHP+Ajax实现无刷新分页实例详解(附demo源码下载)
Apr 07 #PHP
人脸识别测颜值、测脸龄、测相似度微信接口
Apr 07 #PHP
PHP的PDO常用类库实例分析
Apr 07 #PHP
PHP安全下载文件的方法
Apr 07 #PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 #PHP
PHP使用token防止表单重复提交的方法
Apr 07 #PHP
PHP使用Mysqli类库实现完美分页效果的方法
Apr 07 #PHP
You might like
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
PHP数组排序函数合集 以及它们之间的联系分析
2013/06/27 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
关于jquery input textare 事件绑定及用法学习
2013/04/03 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
封装了一个支持匿名函数的Javascript事件监听器
2014/06/05 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
jquery特效 点击展示与隐藏全文
2015/12/09 Javascript
js+html制作简单验证码
2017/02/16 Javascript
javascript定时器取消定时器及优化方法
2017/07/08 Javascript
react-native-fs实现文件下载、文本存储的示例代码
2017/09/22 Javascript
Vue 进入/离开动画效果
2017/12/26 Javascript
React 源码中的依赖注入方法
2018/11/07 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
Python使用sftp实现上传和下载功能(实例代码)
2017/03/14 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
详解Python自建logging模块
2018/01/29 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
python 获取一个值在某个区间的指定倍数的值方法
2018/11/12 Python
在Python中如何传递任意数量的实参的示例代码
2019/03/21 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
Django 构建模板form表单的两种方法
2020/06/14 Python
Python 如何对文件目录操作
2020/07/10 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
美国著名珠宝品牌之一:Jared The Galleria Of Jewelry
2016/10/01 全球购物
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
Raleigh兰令自行车美国官网:英国凤头牌自行车
2018/01/08 全球购物
商务专员岗位职责
2013/11/23 职场文书
高中生职业规划范文
2014/03/09 职场文书
家庭贫困证明书(3篇)
2014/09/15 职场文书