ホームページ  >  記事  >  バックエンド開発  >  adodb トランザクション処理が機能しない理由_PHP チュートリアル

adodb トランザクション処理が機能しない理由_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:52:04944ブラウズ



質問
adodb トランザクション処理が機能しないのはなぜですか?
解決策
データ テーブルはすべて InnoDB タイプです。以下のコードを見てください。2 番目の 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 ステートメントは実行されますが、2 番目の SQL ステートメントは実行されません。ここには取引上の影響はまったくありません。

ネットで見ました
$db = &ADONewConnection('mysql');
$db = &ADONewConnection('mysqlt'); または $db = &ADONewConnection('mysqli');
に変更します。 しかし、変更してもまだ機能しません。

皆さんよろしくお願いします
それについて話し合いましょう。 。 。


ネチズンの提案:
$db = &ADONewConnection('mysql');
$db->Connect($dbhost, $dbuser, $dbpw, $dbname);



http://www.bkjia.com/PHPjc/632518.html

tru​​ehttp://www.bkjia.com/PHPjc/632518.html技術記事問題: Adodb トランザクション処理が効果的ではありませんか? 解決策: データ テーブルはすべて InnoDB タイプです。以下のコードを見てください。2 番目の SQL ステートメントは間違っていますが、最初のステートメントは include dirname(...
) を実行します。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。