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我知道这一点,但在目前的情况下,我不得不接受这一点。如果由我决定,我将重建整个应用程序,但不幸的是,它不是。