在之前的讨论中,解决了 MySQL 中的跨数据库查询。然而,当尝试在 PHP 中实现这些知识时,出现了挑战。
问题:
PHP 提供了两种使用 mysql_select_db 的方法:
解决方案:
执行PHP中的跨数据库查询无需过多修改,如下步骤即可采取:
$db = mysql_connect($host, $user, $password); mysql_select_db('my_most_used_db', $db); $q = mysql_query(" SELECT * FROM table_on_default_db a, `another_db`.`table_on_another_db` b WHERE a.id = b.fk_id ");
如果数据库位于不同的主机,直接加入是不可能的。在这种情况下,可以执行两个查询:
$db1 = mysql_connect($host1, $user1, $password1); $db2 = mysql_connect($host2, $user2, $password2); $q1 = mysql_query(" SELECT id FROM table WHERE [..your criteria for db1 here..] ", $db1); $tmp = array(); while($val = mysql_fetch_array($q1)) $tmp[] = $val['id']; $q2 = mysql_query(" SELECT * FROM table2 WHERE fk_id in (".implode(', ', $tmp).") ", $db2);
以上是如何在PHP中执行跨数据库查询?的详细内容。更多信息请关注PHP中文网其他相关文章!