首页 > php代码 > 用ADODB实现事务

用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");}


本文地址:http://www.phprm.com/code/69f93d41f3c4729e4a3efeeed01df412.html

转载随意,但请附上文章地址:-)

标签:none

发表留言