我可以调用DB:connect而不影响当前活动的数据库吗?

时间:2010-10-10 18:06:35

标签: php database pear

我正在尝试合并到各自使用不同数据库的php代码库。我可以调用DB :: connect来更改哪个DB被认为是活动的吗?或者我可以保存活动数据库并在调用connect后恢复它吗?

编辑:问题是一个代码库使用mysql_query()而不提供$ link_identifier,我不想更改所有调用,但我仍然希望能够打开第二个数据库连接。现在它的工作取决于我连接到DB的顺序,这很痛苦。

2 个答案:

答案 0 :(得分:1)

DB :: connect创建连接资源。您可以同时连接到许多不同的数据库/服务器。连接资源包含正在使用的数据库。只需将返回的连接引用存储在不同的变量中即可。

同时连接到多个数据库实际上很常见。例如,连接到SELECT的从属DB和INSERT,UPDATE和DELETE的主DB。

答案 1 :(得分:1)

当您创建与DB的新连接时,通常会返回资源链接或将其存储为DB包装器类的成员或其他任何内容。每次调用查询函数等时,必须使用此链接(例如存储在变量中)。如果未指定链接,则将使用最后打开的链接,这可能是灾难性的。但是,如果您正在努力使用正确创建的链接,那么根本就没有问题。