假设用户在单个主机上托管了两个数据库,并且我需要连接到这两个数据库,以便我可以随时使用任何表而无需多次添加连接代码。
我已经在CodeIgniter中实现了这一点,在database.php
文件中添加了两个数据库的授权详细信息,并$this->load->database('dbname');
在脚本中加载了所需的数据库。
现在,对于核心PHP,我们可以这样做:
mysql_connect ('host','user','password','port','dbname'); // connection with one database.
它与我的第一个数据库连接。
现在,我要连接第二个数据库:
1)我尚未关闭以上连接并与第二个连接
mysql_connect ('host','user','password','port','dbname1');.
2)这样做是不好的做法吗?它会消耗更多的对象吗?是否应该要求我们关闭第一个?
不必仅使用同一服务器上2个数据库中的表就打开2个连接。您只需要使用database.table表示法即可。这样做意味着您甚至可以在同一查询中联接来自不同数据库的表
SELECT t1.col1, t1.col2, t2.col2, t2.col2
FROM db1.table1 AS t1 JOIN db2.table1 AS t2 ON t1.col1 = t2.col3
因此,如果最初已连接到db1,则可以使用db2表,如果连接到db2,则可以使用db1表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句