加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

adodb的事务处理咋没效果

发布时间:2020-12-13 20:50:12 所属栏目:PHP教程 来源:网络整理
导读:问题:adodb的事务处理为什么没效果? 解决方法: 数据表都是InnoDB类型的,看下面的代码,第二条sql语句是错的,第一条语句却执行了 include dirname( __FILE__ ). adodbadodb.inc.php ; include dirname( __FILE__ ). bbsconfig.inc.php ; $ADODB_FETCH_MODE

问题:adodb的事务处理为什么没效果?

解决方法:数据表都是InnoDB类型的,看下面的代码,第二条sql语句是错的,第一条语句却执行了

  1. include dirname(__FILE__).'adodbadodb.inc.php'
  2. include dirname(__FILE__).'bbsconfig.inc.php'
  3. $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; 
  4. $db = &ADONewConnection('mysql'); 
  5. $db->Connect($dbhost$dbuser$dbpw$dbname); 
  6. $db->debug=1; 
  7. $db->StartTrans(); 
  8. $db->Execute("update table1 set fieldid=fieldid+1");  
  9. $db->Execute("update table2 set joinid1=joinid+1 where id=11"); 
  10. $db->CompleteTrans(); 
  11. ?> 

执行后的结果:第一条sql语句执行,第二条sql语句不执行。这里根本没有起到事务的效果。

网上讨论比较多的是:
 
  1. $db = &ADONewConnection('mysql'); 
  2. 改成$db = &ADONewConnection('mysqlt');或者$db = &ADONewConnection('mysqli'); 

可是改了还是不行,网友建意:

  1. $db = &ADONewConnection('mysql'); 
  2. $db->Connect($dbhost$dbname); 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读