2011-04-13 78 views
1

我想在瀏覽器中顯示數據。我已經從數據庫中檢索數據,但是當我撥打mysql_select_db時,它只接受一個數據庫。但我的數據來自不同的數據庫。如何選擇多個數據庫

我將如何選擇它們? 如果我正在寫mysql_select_db,它只接受一個數據庫。如果我正在使用mysql_select_db,它正在接受但結果不會在瀏覽器中顯示的asmany數據庫。它顯示最大執行時間爲30秒..如果我工作在1數據庫結果顯示在瀏覽器中,但當我嘗試鏈接超過1個數據庫在同一連接問題來了。

同樣的問題也時正在添加我試圖如果我使用單臺到2臺在單一database.but鏈接,並沒有與其他表連接比結果正在添加

回答

0

首先,從獲取數據第一個數據庫,然後爲第二個數據庫調用mysql_select_db,然後從第二個數據庫獲取值。您可以在需要數據的數據庫之間來回移動,只需在調用php mysql函數之前調用該數據庫的mysql_select_db即可。

3

你需要打開兩個不同的連接

$con1 = mysql_connect($server1, $user1, $pass1); 
mysql_select_db($con1); 

$con2 = mysql_connect($server2, $user2, $pass2); 
mysql_select_db($con2); 

$query1 = mysql_query($sql1, $con1); 
$query2 = mysql_query($sql2, $con2); 

編輯:

如果兩個您的數據庫accessable一個連接:

說你有兩個不同的數據庫,DB1和DB2

$sql1 = "SELECT * FROM db1.myTable WHERE something "; 
$sql2 = "SELECT * FROM db2.myOtherTable WHERE something "; 
+0

但我所有的數據庫都在一個連接。做2個不同的connecton會是對的嗎? – pritosh 2011-04-13 07:28:56

+0

哦對不起,那麼做兩個不同的連接將是多餘的。然後讓我編輯迴應 – marvin 2011-04-13 07:35:58

+0

這些查詢都很好。我知道了..告訴我如何在瀏覽器中顯示它。如果我正在寫mysql_select_db它只採取一個數據庫。asmany數據庫,如果我使用mysql_select_db它正在接受,但結果不會在瀏覽器中顯示。它顯示最大執行時間爲30秒..如果我工作在1數據庫結果顯示在瀏覽器中,但當我嘗試鏈接超過1個數據庫在同一連接問題來了。 – pritosh 2011-04-13 09:51:27

1

您可以限定您的查詢數據庫名稱(SELECT * FROM db1.table; SELECT * FROM db2.table),或者您可以運行第一個查詢,將其結果存儲到PHP數組,調用mysql_select_db()並運行第二個查詢。

第一種方法比較靈活一些,因爲如果你願意的話,你可以做跨數據庫連接之類的事情(不能保證跨數據庫連接的性能如何)。