adodb的事務處理咋沒效果
來源:程序員人生 發布時間:2014-01-01 09:57:10 閱讀次數:3074次
問題:adodb的事務處理為什么沒效果?
解決方法:數據表都是InnoDB類型的,看下面的代碼,第二條sql語句是錯的,第一條語句卻執行了
- 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);
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈