0

我正在开发一些打开了当前数据库连接并连接到一个数据库的大型软件,但不幸的是,它在查询调用中没有使用链接标识符。

现在我必须打开与另一个数据库的连接;这很好用,但是现在对数据库函数的所有调用似乎都使用我打开的第二个连接(它们使用不同的参数)。

有什么方法可以避免这种情况并让查询返回到使用打开的第一个连接,还是我必须在link identifier所有其他调用中添加一个?

我可以关闭第二个连接,然后它会重新使用它吗?

我知道我也可以通过在查询中列出数据库来避免打开第二个连接,但我真的不希望两个数据库都使用相同的凭据。

4

1 回答 1

0

从 php 文档中找到这个花絮..

请注意,该手册有些误导,它指出:-

“在与指定链接标识符关联的服务器上设置当前活动数据库。随后对 mysql_query() 的每次调用都将在活动数据库上进行。”

第二个陈述是不正确的,或者充其量是不清楚的。

mysql_query() 手动条目实际上正确地声明它将默认使用 mysql_connect() 打开的最后一个链接。

因此,如果您有 2 个连接,则需要在调用 mysql_query 时指定连接或再次发出连接以确保第一个数据库成为默认数据库,简单地使用 mysql_select_db 不会使第一个数据库成为后续调用 mysql_query 的默认值。

它可能仅在两个数据库位于不同服务器上时才明显。

http://www.php.net/manual/en/function.mysql-select-db.php#108375

所以看起来当我完成第二个数据库时,我将不得不运行另一个与第一个数据库的连接。

于 2014-04-20T17:31:11.073 回答