簡體   English   中英

加載多個SQL數據庫以進行查詢

[英]Loading multiple SQL databases for a query

這里的背景是我們使用SQL來運行日記,並且以下命令顯示來自一個特定SQL的結果

if ($_SERVER['HTTP_HOST'] == "localhost") {
    $GLOBALS['dbUsername']     = "admin";
    $GLOBALS['dbPassword']     = "admin";
    $GLOBALS['dbHost']         = "localhost";
    $GLOBALS['dbDatabase']     = "Tracker";
}
else {
    $GLOBALS['dbUsername']     = "admin";
    $GLOBALS['dbPassword']     = "admin";
    $GLOBALS['dbHost']         = "localhost";
    $GLOBALS['dbDatabase']     = "store_3";
}

但是,我們大約有26個使用"store_1" - "store_26"因此要仔細檢查它們都需要一段時間。 我想同時簡單地加載多個,但是我的SQL + PHP知識不是那么好

我認為:

$GLOBALS['dbDatabase']     = "store_3";"store_4"

請允許我檢查多個,但失敗了。 dbDatabase的唯一其他引用在代碼中稍稍晚一點

$conn = mysql_connect($GLOBALS['dbHost'], $GLOBALS['dbUsername'], $GLOBALS['dbPassword']);
$data = mysql_select_db($GLOBALS['dbDatabase']);

因此,我假設如果一開始登錄多個數據庫,那么我還需要一種將它們包含在此語句中的方法,我們將不勝感激。

您可以使用dbname.tablename訪問其他數據庫的表

但是您要訪問的數據庫應該在同一服務器上。

例如:

// Establish connection
$conn = mysql_connect($GLOBALS['dbHost'], $GLOBALS['dbUsername'], $GLOBALS['dbPassword']);

// Select Any one database. Let's say `store_1`
$data = mysql_select_db($GLOBALS['dbDatabase']);

$sql1 = "SELECT * FROM store_1.tablename";
$sql2 = "SELECT * FROM store_2.tablename";
$sql3 = "SELECT * FROM store_4.tablename a JOIN store_5.tablename b ON a.id = b.id";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM