PHP 中的跨数据库查询:打破障碍
在上一集中,在 MySQL 中构建跨数据库查询成为可能。然而,由于 mysql_select_db 的限制,将这些知识转换为 PHP 遇到了障碍。
选项和限制
PHP 中可用的选项有:
解决方案
克服这些限制并执行跨数据库查询在 PHP 中,我们可以利用以下方法:
$db = mysql_connect($hots, $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中执行跨数据库查询?的详细内容。更多信息请关注PHP中文网其他相关文章!