如果你尝试使用相同的 MySQL 用户、密码和主机名打开多个独立的 MySQL 连接,则必须设置 $new_link = TRUE 以防止 mysql_connect 使用现有连接。
例如,你正在打开两个独立的连接到两个不同的数据库 (但在同一个主机上,并且使用相同的用户和密码)
$db1 = mysql_connect($dbhost, $dbuser, $dbpass);
$rv = mysql_select_db($dbname1, $db1);
$db2 = mysql_connect($dbhost, $dbuser, $dbpass);
$rv = mysql_select_db($dbname2, $db2);
此时,$db1 和 $db2 都将选择名为 $dbname2 的数据库。
解决方法是要求第二个 MySQL 连接是新的
$db1 = mysql_connect($dbhost, $dbuser, $dbpass);
$rv = mysql_select_db($dbname1, $db1);
$db2 = mysql_connect($dbhost, $dbuser, $dbpass, TRUE);
$rv = mysql_select_db($dbname2, $db2);
现在,$db1 应该选择了 $dbname1,而 $db2 应该选择了 $dbname2。
这在 mysql_select_db 页面上也有记录。
注意:这仅在每个 mysql_connect 语句的服务器、用户名和密码参数都相同的情况下才会发生。