首页 > 解决方案 > ¿ 我可以在 Mysql 中设置同时使用两个不同的数据库吗?

问题描述

我在服务器中有一个站点,在其他服务器中有数据库。

我的站点同时连接了两个不同的数据库,没有任何问题,但是当我更改服务器的数据库时,我遇到了问题,我的站点无法识别两个连接。

我找到的解决方案是,在 mysql_connect 函数中的参数“新链接”上设置为 true,同样:

$link_web = mysql_connect($host_web,$user_web,$pass_web, true)

但我对其他可能的解决方案有疑问。

我可以解决这个问题,在我的 php.ini 中将 sql.safe-mode 设置为“on”吗?或者是否可以在不更改源代码的情况下以另一种方式解决这个问题?

标签: phpmysqldatabasemysql-connectsafe-mode

解决方案


有很多方法可以欺骗 PHP 创建单独的连接——但它们充其量是多余的。您依赖于在数据库会话中持续存在的有关数据访问(您要连接的数据库)的事实。对于编写无法始终确定事件顺序的大型复杂应用程序,这不是一个好的起点。一个更简洁的解决方案是仍然调用 mysql_connect() 两次(以防数据库被拆分到不同的主机)让您的代码将返回的句柄视为 2 个单独的值,并在您的 sql 中指定 DML 适用于哪个数据库:

SELECT *
FROM yourdatabase.yourtable;

推荐阅读