Php MySQL使用上次打开的连接

Php MySQL使用上次打开的连接,php,mysql,Php,Mysql,在我们的一个旧应用程序中,我们看到了一段时间以来的奇怪行为 我们有多个页面,需要多个数据库的数据,直到最近一切都很好 如果我们需要多个数据库,我们可以这样初始化它们: $linkDatabaseOne = fConnectToDatabase( "Database1" ); $linkDatabaseTwo = fConnectToDatabase( "Database2" ); 然后我们执行如下查询: mysql_query( "QUERY", $linkDatabaseOne ); mys

在我们的一个旧应用程序中,我们看到了一段时间以来的奇怪行为

我们有多个页面,需要多个数据库的数据,直到最近一切都很好

如果我们需要多个数据库,我们可以这样初始化它们:

$linkDatabaseOne = fConnectToDatabase( "Database1" );
$linkDatabaseTwo = fConnectToDatabase( "Database2" );
然后我们执行如下查询:

mysql_query( "QUERY", $linkDatabaseOne );
mysql_query( "QUERY", $linkDatabaseTwo );
   $dbcon2 = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD, true)
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上抛出,因为该查询具有最后一个openend连接

有人知道是什么导致了这个问题吗?

释放结果集

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

    $linkDatabaseTwo = fConnectToDatabase( "Database2" );
    mysql_query( "QUERY", $linkDatabaseTwo );
    mysql_free_result( $linkDatabaseTwo );
释放结果集

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

    $linkDatabaseTwo = fConnectToDatabase( "Database2" );
    mysql_query( "QUERY", $linkDatabaseTwo );
    mysql_free_result( $linkDatabaseTwo );

看看这个,您需要建立如下配置:

mysql_query( "QUERY", $linkDatabaseOne );
mysql_query( "QUERY", $linkDatabaseTwo );
   $dbcon2 = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD, true)

看看这个,您需要建立如下配置:

mysql_query( "QUERY", $linkDatabaseOne );
mysql_query( "QUERY", $linkDatabaseTwo );
   $dbcon2 = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD, true)

您应该用
PDO
替换
mysql\u*
,因为
mysql\u*
已被弃用。向我们展示fConnectToDatabase的代码或文档;-)Houssni我知道这一点,但在目前的情况下,我不得不接受这一点。如果由我决定,我会重建整个应用程序,但不幸的是,它不是。你应该用
PDO
替换
mysql\u*
,因为
mysql\u*
已被弃用。向我们展示fConnectToDatabase的代码或文档;-)Houssni我知道这一点,但在目前的情况下,我不得不接受这一点。如果由我决定,我将重建整个应用程序,但不幸的是,它不是。