2

アプリケーションはPHP+MSSQLです。複数の接続で誤って更新します。私には2つのつながりがあります。

  1. 接続を開く1。
  2. いくつかのプロセスを実行します。
  3. 接続を開く2。(注:connection2を開くには、connection1データベースが必要です。)
  4. 接続2でいくつかの更新を行います。
  5. 接続を閉じる2。
  6. connection1のプロセスを更新および挿入します。しかし、システムがconnection1ではなくconnection2データベースに誤って更新されています。

複数の接続をどのように処理する必要がありますか。

4

2 に答える 2

1

クエリ呼び出しで接続ハンドラを指定していない可能性があります。mssql (mysql など) ライブラリのデフォルトでは、最後に開かれた接続がデフォルトとして使用されます。

したがって、pseudo_code では次のようになります。

$con1 = mssql_connect("blah blah blah");
$result = mssql_query("SELECT blah blah blah");
$con2 = mssql_connect("blah blah blah"); <-- last opened, new default
$result2 = mssql_query("SELECT blah blah", $con1); 
                                           ^^^^^---force using original connection
于 2012-11-14T15:46:58.047 に答える