我想連接到第一個數據庫來獲取一些信息,然後使用該信息更新第二個數據庫中的表。1個PHP文件可以連接到2個數據庫嗎?
但是,如果我不關閉連接,第二個查詢總是試圖從第一個數據庫中提取。如果我關閉連接,那麼它會給我一個套接字錯誤。
我正在使用Drupal(所以我的第一個數據庫是Drupal數據庫)。我想從其中一個表中獲取一個值,並在加載3個不同的PHP頁面中的1個時將其放入我的成員信息數據庫中。
這可能嗎?
我想連接到第一個數據庫來獲取一些信息,然後使用該信息更新第二個數據庫中的表。1個PHP文件可以連接到2個數據庫嗎?
但是,如果我不關閉連接,第二個查詢總是試圖從第一個數據庫中提取。如果我關閉連接,那麼它會給我一個套接字錯誤。
我正在使用Drupal(所以我的第一個數據庫是Drupal數據庫)。我想從其中一個表中獲取一個值,並在加載3個不同的PHP頁面中的1個時將其放入我的成員信息數據庫中。
這可能嗎?
您可以同時存儲多個連接。
PHP沒有限制會阻止你這樣做。
如果您遇到特定代碼的問題,請更新問題。
是的,您可以創建多個連接。您需要將mysql_query內部的鏈接指定爲第二個參數。
例子:
$link1 = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link1) {
die('Not connected : ' . mysql_error());
}
// second foo1
$db_selected_1 = mysql_select_db('foo1', $link1);
if (!$db_selected_1) {
die ('Can\'t use foo : ' . mysql_error());
}
$link2 = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link2) {
die('Not connected : ' . mysql_error());
}
// select foo2
$db_selected_2 = mysql_select_db('foo2', $link2);
if (!$db_selected_2) {
die ('Can\'t use foo : ' . mysql_error());
}
// query on first db
mysql_query('SELECT * FROM 1 WHERE 1', $link1);
// query on second db
mysql_query('SELECT * FROM 1 WHERE 1', $link2);
如果您有這兩個數據庫在同一臺服務器上一樣crendetials,你可能只是這樣做:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Not connected : ' . mysql_error());
}
// select foo1
$db_selected = mysql_select_db('foo1', $link);
// query on first db
mysql_query('SELECT * FROM 1 WHERE 1', $link);
// select foo2
$db_selected = mysql_select_db('foo2', $link);
// query on second db
mysql_query('SELECT * FROM 1 WHERE 1', $link);
然而,我建議你使用mysqli_
甚至PDO
。
您可以使用mysql_update_db函數更新PHP中選定的數據庫。 http://php.net/manual/en/function.mysql-select-db.php – 2012-07-09 18:53:35
@MSost請不要使用'mysql_',而應該使用'PDO'或'mysqli' – 2012-07-09 18:55:41