我正在尝试连接到第一个数据库以提取一些信息,然后使用该信息更新第二个数据库中的表。
但是,如果我不关闭连接,则第二个查询总是尝试从第一个数据库中提取。如果我关闭连接,那么它会给我一个套接字错误。
我正在使用Drupal(所以我的第一个数据库是Drupal数据库)。我希望从其中一个表中获取一个值,并在3个不同的PHP页面中的一个加载时将其放入我的成员信息数据库中。
这可能吗?
答案 0 :(得分:6)
是的,您可以创建多个连接。您需要将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
。
答案 1 :(得分:1)
您可以同时存储多个连接。
PHP没有任何限制可以阻止你这样做。
如果您遇到特定代码问题,请更新问题。