[PHP] - PDO事务操作
PHP使用PDO事务操作数据库。
参考文章:
http://php.ncong.com/mysql/pdo/pdo_shiwu.html
上代码:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "XXXXXX");
//设置错误使用异常的模式
$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//关闭自动提交
$pdo-> setAttribute(PDO::ATTR_AUTOCOMMIT, 0);
} catch (PDOException $e) {
echo sprintf("Exception message=%s", $e->getMessage());
exit();
} $strSql = "UPDATE mytable SET headline='哈哈' WHERE id=:id"; $pdo->beginTransaction();
try {
for ($i = 1; $i <= 5; $i++) {
$stmt = $pdo->prepare($strSql);
$affectedRows = $stmt->execute(array("id"=>$i));
if ($affectedRows > 0) {
echo sprintf("update success id=%s<br/>", $i);
}
else {
echo sprintf("update false id=%s", $i);
}
}
$pdo->commit();
} catch (PDOException $e) {
echo sprintf("Exception message=%s", $e->getMessage());
$pdo->rollBack();
exit();
} // 需要打开自动提交
$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, 1); echo "<hr/>";
$stm = $pdo->prepare("SELECT id, headline, create_time FROM mytable");
$stm->execute();
$stm->bindColumn(1, $id);
$stm->bindColumn("headline", $headline);
$stm->bindColumn(3, $createTime);
while ($stm->fetch(PDO::FETCH_BOUND)) {
echo "<p>", $id, " - " , $headline, " - ", $createTime, "</p>";
}
?>
</body>
</html>
[PHP] - PDO事务操作的更多相关文章
- 一个基于PDO的数据库操作类(新) 一个PDO事务实例
<?php /* * 作者:胡睿 * 日期:2011/03/19 * 电邮:hooray0905@foxmail.com * * 20110319 * 常用数据库操作,如:增删改查,获取单条记录 ...
- PDO数据库操作类
<?php include 'common_config.php'; /** * Class Mysql * PDO数据库操作类 */ class Mysql { protected stati ...
- PHP PDO 事务与自动提交
现在通过 PDO 连接上了,在开始进行查询前,必须先理解 PDO 是如何管理事务的. 事务支持四大特性(ACID): 原子性(Atomicity) 一致性(Consistency) 隔离性(Isola ...
- Yii2 事务操作
官网关于Yii2 事务的说明文档 http://www.yiiframework.com/doc-2.0/guide-db-active-record.html Working with Transa ...
- Winform开发框架里面使用事务操作的原理及介绍
在很多情况下,事务是个很有用的东西,可以把一系列的操作组合成一个原子粒度的操作,一旦组合中某个地方出错,可以整个干净的进行滚回,不会留下脏数据:除此之外,事务还能提高批量操作的效率,如在本地SQLit ...
- andorid SQLite数据库的增删改查 和事务操作
.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...
- Entity Framework 4 数据事务操作
利用数据库链接进行事务操作 var db = ConnectionHelper.GetConn(ConnectionType.Write);//获取上下文 var conn = db.Connecti ...
- 使用事务操作SQLite数据批量插入,提高数据批量写入速度,源码讲解
SQLite数据库作为一般单机版软件的数据库,是非常优秀的,我目前单机版的软件产品线基本上全部替换Access作为优选的数据库了,在开发过程中,有时候需要批量写入数据的情况,发现传统的插入数据模式非常 ...
- Oracle 数据库基本操作——实用手册、表操作、事务操作、序列
目录: 0. 参考链接与参考手册1. oracle 实用(常用操作)指令2. 数据库基本操作语法 a) 表操作 1)创建表 2)更新表 3)删除表 4)查询 b) 事务操作 c) 序列操作 1)创建序 ...
随机推荐
- 深入浅出REST
不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正确”方式,一场争论正进行的如火如荼:虽然当前主流的方式明显地集中在基于SOAP.WSDL和WS-*规范的Web Services领域,但也 ...
- UE4 Android相对路径转绝对路径方法笔记
在windows端用FPaths::ConvertRelativePathToFull可以将相对路径转成绝对路径. 在Andoird端,就麻烦些.可模仿UE4源码中AndroidFile.Cpp转换相 ...
- PHP面向对象实例(图形计算器)
效果:
- liunx中字符驱动编写的简单模板
下面是关于字符驱动两个程序,主要是说明驱动编写的思想,理解驱动是怎么一步一步被实现的. 驱动的第一个实现程序,是相对于裸机编程的,主要是体会一下驱动编程思想: cdev.h: 所包含的头文件 #ifn ...
- asp.net页面事件执行顺序
转自http://www.cnblogs.com/hnlyh/articles/4230388.html C#代码 using System; using System.Data; using Sys ...
- Mysql游标阻止执行最后一次
DELIMITER $$ USE `you`$$ DROP PROCEDURE IF EXISTS `stockCursor`$$ CREATE DEFINER=`root`@`localhost` ...
- 黑马程序员:Java编程_7K面试题之交通灯管理系统
=========== ASP.Net+Android+IOS开发..Net培训.期待与您交流!=========== 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: 异步随机生成按照各个路线行 ...
- Winscp sftp远程linux服务器需要预设密码,怎么解决
需要在root账户下修改/etc/ssh/sshd_config 文件中PermitEmptyPasswords no改成yes
- python中try except执行顺序
python中try except finally的执行顺序 先执行try中语句 如果try中抛出异常, 执行异常中语句. 如果try 或 except 中没有return语句,执行完try 或者 e ...
- Hbuilder与svn快速连接并在手机上测试页面
大家好,今天讲一下Hbuilder怎样与svn连接在一起,并且在移动端上面做真是的页面测试. 1,打开Hbuilder软件,在工具中,安装插件,找到svn插件安装. 2.点击文件,导入,从svn中检测 ...