首頁 > 資料庫 > mysql教程 > 如何在PHP中執行跨資料庫查詢?

如何在PHP中執行跨資料庫查詢?

Barbara Streisand
發布: 2024-11-11 14:48:03
原創
228 人瀏覽過

How to Execute Cross Database Queries in PHP?

PHP 中的跨資料庫查詢:打破障礙

在上一集中,在 MySQL 中建立跨資料庫查詢成為可能。然而,由於 mysql_select_db 的限制,將這些知識轉換為 PHP 遇到了障礙。

選項和限制

PHP 中可用的選項有:

  • 使用mysql_select_db:
  • 使用mysql_select_db: 限制每個資料庫只能使用一個資料庫會議。嘗試使用跨資料庫引用失敗。
避免 mysql_select_db:

需要為每個查詢指定資料庫,這是繁瑣且不切實際的。

解決方案

$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
");
登入後複製

克服這些限制並執行跨資料庫查詢在 PHP中,我們可以利用以下方法:

先決條件

$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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板