PHP 中的跨資料庫查詢:綜合指南
本文解決了在PHP 中建構跨資料庫查詢的問題,這是一個問題這是之前在MySQL 環境中探索過的。儘管在 MySQL 中成功實現了跨資料庫查詢,但作者在嘗試在 PHP 中複製該過程時卻遇到了失敗。
具體來說,作者質疑 mysql_select_db 一次只能使用一個資料庫的限制,使得跨資料庫查詢不切實際。此外,為每個查詢指定資料庫的替代方案被認為是乏味的。
PHP 中的跨資料庫查詢
克服了mysql_select_db 的限制,作者得到了一個解決方案啟用直接跨資料庫連接:
$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中文網其他相關文章!