关于多个同时连接到不同主机的简短说明...
我在一个网站上工作,该网站主要从一个数据库中提取内容,但使用另一个服务器上的数据库来验证许可证。人们可能会期望以下代码能正常工作
<?php
// 打开到主数据库的连接
$res1 = mysql_connect($host1, $user1, $pass1);
mysql_select_db($db1);
// 打开到许可证服务器的连接
$res2 = mysql_connect($host2, $user2, $pass2);
mysql_select_db($db2, $res2);
// 拉取许可证数据并在完成后关闭
mysql_query($check_sql, $res2);
// ...
mysql_close($res2);
// 现在从主数据库中提取内容
// 不指定资源应该默认为最后打开的数据库
mysql_query($query);
// ...
?>
事实证明,最后一个查询由于找不到活动连接,将尝试使用 mysql_connect() 无参数连接。但是,如果您改为使用 mysql_query($query, $res1),或者在另一种情况下,再次运行此主机的 mysql_connect,那么它就可以正常工作。因此,似乎无法在包含总体“全局”数据库连接的代码中穿插对另一个主机/数据库的临时连接....