gpt4 book ai didi

php - 1 个 PHP 文件可以连接到 2 个数据库吗?

转载 作者:行者123 更新时间:2023-11-29 01:17:44 27 4
gpt4 key购买 nike

我正在尝试连接到第一个数据库以提取一些信息,然后使用该信息更新第二个数据库中的表。

但是,如果我不关闭连接,第二个查询总是会尝试从第一个数据库中提取数据。如果我确实关闭了连接,那么它会给我一个套接字错误。

我正在使用 Drupal(所以我的第一个数据库是 Drupal 数据库)。我想从其中一个表中获取一个值,并在加载 3 个不同 PHP 页面中的 1 个时将其放入我的成员(member)信息数据库中。

这可能吗?

最佳答案

是的,您可以创建多个连接。您需要将 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);

如果两个数据库在同一台服务器上有相同的凭据,您可以这样做:

$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

关于php - 1 个 PHP 文件可以连接到 2 个数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11401242/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com