0

私たちの古いアプリケーションでは、しばらくの間、奇妙な動作が見られます。

複数のデータベースのデータを必要とする複数のページがあり、最近まですべて正常に機能していました。

複数のデータベースが必要な場合は、次のように初期化します。

$linkDatabaseOne = fConnectToDatabase( "Database1" );
$linkDatabaseTwo = fConnectToDatabase( "Database2" );

その後、次のようにクエリを実行します。

mysql_query( "QUERY", $linkDatabaseOne );
mysql_query( "QUERY", $linkDatabaseTwo );

fConnectToDatabase 関数

function fConnectToDatabase( $Server = null ) {
    switch( $Server ) {
        case "Database2":
            $link = @mysql_connect ( "localhost", "USER", "PW" )
            or die ("No connection");
            mysql_select_db("Database2");
        break;
        case "Database1":
                       $link = @mysql_connect ( "localhost", "USER", "PW" )
                       or die ("No connection");
                       mysql_select_db("Database1");
        break;
   }
     return $link;
 }

しかし問題は、この時点で両方のクエリが Database2 でスローされることです。これは、Database2 に最後のオープンエンド接続があるためです。

この問題の原因を知っている人はいますか?

4

2 に答える 2

5

これを見て、次のように構成を確立する必要があります。

   $dbcon2 = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD, true)
于 2013-11-06T12:30:15.450 に答える
0

結果セットを解放する

    $linkDatabaseOne = fConnectToDatabase( "Database1" );
    mysql_query( "QUERY", $linkDatabaseOne );
    mysql_free_result( $linkDatabaseOne );

    $linkDatabaseTwo = fConnectToDatabase( "Database2" );
    mysql_query( "QUERY", $linkDatabaseTwo );
    mysql_free_result( $linkDatabaseTwo );
于 2013-11-06T12:28:34.053 に答える