如何在PHP中同时连接到2个数据库

2022-08-30 21:41:36

我正在尝试从1个PHP脚本连接到MySQL同一实例上的2个数据库。

目前,我找到的唯一方法是连接到两个数据库,每个数据库都有一个不同的用户。

我在迁移脚本中使用它,从原始数据库中获取数据并将其插入新数据库,因此我正在循环浏览大型结果列表。

连接到 1 个数据库,然后尝试与同一用户启动第二个连接,只是将当前数据库更改为新数据库。

还有其他想法吗?


答案 1

您需要将布尔值 true 作为可选的第四个参数传递给 mysql_connect()。有关详细信息,请参阅 PHP 的 mysql_connect() 文档


答案 2

如果数据库用户有权访问这两个数据库,并且它们位于同一服务器上,则可以使用一个连接,只需在表名之前指定要使用的数据库。例:

SELECT column
FROM database.table

根据您需要执行的操作,您可能能够执行 INSERT INTO 并节省大量处理时间。

INSERT INTO database1.table (column)
SELECT database2.table.column
FROM database2.table

推荐