问题:adodb的事务处理为什么没效果?
解决方法:数据表都是InnoDB类型的,看下面的代码,第二条sql语句是错的,第一条语句却执行了
<?php include dirname(__FILE__).'adodbadodb.inc.php'; include dirname(__FILE__).'bbsconfig.inc.php'; $ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; $db = &ADONewConnection('mysql'); $db->Connect($dbhost, $dbuser, $dbpw, $dbname); $db->debug=1; $db->StartTrans(); $db->Execute("update table1 set fieldid=fieldid+1"); $db->Execute("update table2 set joinid1=joinid+1 where id=11"); $db->CompleteTrans(); ?>
执行后的结果:第一条sql语句执行,第二条sql语句不执行。这里根本没有起到事务的效果。
网上讨论比较多的是:
$db = &ADONewConnection('mysql'); 改成$db = &ADONewConnection('mysqlt');或者$db = &ADONewConnection('mysqli');
可是改了还是不行,网友建意:
$db = &ADONewConnection('mysql'); $db->Connect($dbhost, $dbuser, $dbpw, $dbname);
永久地址:
转载随意~请带上教程地址吧^^
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号