adodb的事务处理咋没效果

WBOY
リリース: 2016-05-25 16:53:24
オリジナル
1231 人が閲覧しました

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

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

<?php
include dirname(__FILE__).&#39;adodbadodb.inc.php&#39;; 
include dirname(__FILE__).&#39;bbsconfig.inc.php&#39;; 
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC; 
$db = &ADONewConnection(&#39;mysql&#39;); 
$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(&#39;mysql&#39;); 
改成$db = &ADONewConnection(&#39;mysqlt&#39;);或者$db = &ADONewConnection(&#39;mysqli&#39;);
ログイン後にコピー

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

$db = &ADONewConnection(&#39;mysql&#39;); 
$db->Connect($dbhost, $dbuser, $dbpw, $dbname);
ログイン後にコピー

永久地址:

转载随意~请带上教程地址吧^^

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート