程序员人生 网站导航

adodb的事务处理咋没效果

栏目:php教程时间:2014-01-01 09:57:10

问题: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$dbuser$dbpw$dbname); 
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐