用ADODB实现事务

我想用ADODB实现事务,让两条update语句要么都做要么都不做,但是却始终不成功。代码如下:

<?php
$db = NewADOConnection('mysql'); //创建一个ADODB连接对象
$mysql_conn = $db->Connect("localhost","root","", "anna");

$db->BeginTrans();
$ok = $db->Execute("update user set user_name= '098'where id=3");
if($ok)
$ok=$db->Execute("update user set user_name= where id=2");
if ($ok) {$db->CommitTrans();}
else {$db->RollbackTrans(); }
?>

结果却是第一条语句成功了,第二条没有成功。
但是同样我用MYSQL自带的函数却可以实现我要的功能,代码如下:

<?php
mysql_query("SET AUTOCOMMIT=0");
$ok1 = $db->Execute("update user set user_name= '098'where id=3");
$ok2=$db->Execute("update user set user_name= where id=2");
if ($ok1 && $ok2 ){ mysql_query("COMMIT");}
else  {mysql_query("ROLLBACK");}
?>

时间: 2024-09-15 06:46:02

用ADODB实现事务的相关文章

PHP中 ADOdb 类库介绍(二)

ado 对查询进行缓存 上个月,我们简单地了解了ADOdb中,如何进行SELECT.INSERT和UPDATE的操作.如果你在ADOdb上是个新手,我建议先读一下上个月的那篇文章. ADOdb 还有很多更高级的特征,这个月,我们就一起来关注其中的部分内容. 数据库时常会成为应用程序效率低下的祸首.尽量减少对数据库的查询,是提高执行效率的方法之一.这,通常可以通过对整页内容进行缓存(有很多种方法来实现.比如,PEAR->Cache),或者,如果你需要做一张动态页面,并且只想让查询指令被缓存,那么,

在ASP程序中实现数据库事务控制

程序|控制|数据|数据库     在编程中,经常需要使用事务.所谓事务,就是一系列必须都成功的操作,只要有一步操作失败,所有其他的步骤也必须撤销.比如用ASP开发一个网络硬盘系统,其用户注册部分要做的事有: 将用户信息记入数据库 为用户开个文件夹用于存储 初始化用户操作日志 这三步必须使用事务,否则万一磁盘操作失败,而没有撤销数据库操作,就会造成只能登陆而不能操作的"死用户"现象. 由于数据库系统特殊的发展历史,小至Access,大到DB2,无不带有事务支持.因此上述步骤可以如下表示:

在ASP中使用事务控制

控制 作者系2月份微软社区之星Microsoft China Community Star 在编程中,经常需要使用事务.所谓事务,就是一系列必须都成功的操作,只要有一步操作失败,所有其他的步骤也必须撤销.比如用ASP开发一个网络硬盘系统,其用户注册部分要做的事有: 将用户信息记入数据库 为用户开个文件夹用于存储 初始化用户操作日志 这三步必须使用事务,否则万一磁盘操作失败,而没有撤销数据库操作,就会造成只能登陆而不能操作的"死用户"现象. 由于数据库系统特殊的发展历史,小至Access

vb神童教程(续)--vb adodb Connection对象简介

本文欢迎非商业用途的转载,但需要注明出自"编程入门网"及相应的网址链接. Connection对象介绍 Connection对象支持许多属性,可以利用这些属性来操作当前的连接状态或者获取一些基本的Connection对象的信息.有一些属性是只读的,而另一些属性是可读写的. 1.Attributes属性 Attributes属性设置或返回一个整型值,它用来指示对象的一项或多项特性.对于Connection对象,Attributes属性为读/写,并且其值可能为以下任意一个或多个XactAt

ASP数据库事务控制的实现

在编程中,经常需要使用事务.所谓事务,就是一系列必须都成功的操作,只要有一步操作失败,所有其他的步骤也必须撤销.比如用ASP开发一个网络硬盘系统,其用户注册部分要做的事有: 将用户信息记入数据库 为用户开个文件夹用于存储 初始化用户操作日志 这三步必须使用事务,否则万一磁盘操作失败,而没有撤销数据库操作,就会造成只能登陆而不能操作的"死用户"现象. 由于数据库系统特殊的发展历史,小至Access,大到DB2,无不带有事务支持.因此上述步骤可以如下表示: On Error Resume

sql-求助:网络中断时 ASP RollbackTrans事务回滚不完全

问题描述 求助:网络中断时 ASP RollbackTrans事务回滚不完全 当网络中断 没有完全运行所有代码时 member 表会回滚 但是 shenhe表不回滚 SQL数据库 已经出现了 shenhe表有记录 member没有对应的记录 <%conn.BeginTrans call checkPost() psw=lostsql(trim(request.Form(""psw""))) repsw=lostsql(trim(request.Form(&qu

PHP中ADODB类详解_php技巧

 虽然 PHP 是建构 Web 系统强有力的工具,但是 PHP 存取数据库的功能,一直未能标准化,每一种数据库,都使用另一种不同且不兼容的应用程序接口(API).为了填补这个缺憾,因此才有 ADODB 的出现.一旦存取数据库的接口予以标准化,就能隐藏各种数据库的差异,若欲转换至其它不同的数据库,将变得十分容易.  目前 ADODB 支持的数据库种类非常地多,例如:MySQL, PostgreSQL, Interbase, Informix, Oracle, MS SQL 7, Foxpro, A

ADODB 入门第1/2页_Mysql

1. 前言 ADODB 是 Active Data Objects Data Base 的简称,它是一种 PHP 存取数据库的函式组件.现在 SFS3 系统 (校园自由软件交流网学务系统) 计划的主持人陈莹光老师,决定采用此一组件,为了让更多有心参与该项目的伙伴们能够顺利加入发展的行列,小弟认为有必要把 ADODB 的中文入门介绍写出来,以方便伙伴们参考备查. 虽然 PHP 是建构 Web 系统强有力的工具,但是 PHP 存取数据库的功能,一直未能标准化,每一种数据库,都使用另一种不同且不兼容的

MYSQL事务之学习笔记

由于项目设计里面,牵扯到了金钱的转移,于是就要用到MYSQL的事务处理,来保证一组处理结果的正确性 用了事务,就不可避免的要牺牲一部分速度,来保证数据的正确性. 只有InnoDB支持事务 事务 ACID Atomicity(原子性).Consistency(稳定性).Isolation(隔离性).Durability(可靠性) 1.事务的原子性 一组事务,要么成功:要么撤回. 2.稳定性 有非法数据(外键约束之类),事务撤回. 3.隔离性 事务独立运行. 一个事务处理后的结果,影响了其他事务,那