繁体   English   中英

如何在php和mysql中连接2个数据库?

[英]How to connect 2 databases in php and mysql?

我有2个数据库。 用户数据库和购买数据库。 每个数据库都有不同的用户名和密码。

如果我想执行查询以调用两个数据库。 如何连接数据库?

$db = mysql_select_db(??????);

您不必在意选择哪个数据库,因为您在查询中将数据库名称提供给了MySQL。

SELECT * FROM db.table, db2.table

因此,无论您选择哪种数据库都不会改变。

$db1 = mysql_connect($host1, $user1, $pass1);
mysql_select_db($db1, 'database1');

$db2 = mysql_connect($host2, $user2, $pass1);
mysql_select_db($db2, 'database2');

$query = "SELECT * FROM test";

mysql_query($db1, $query);
mysql_query($db2, $query);

编辑:好的,现在我理解了这个问题(将注释读到其他答案):如果您没有权限,则将无法执行连接2个数据库的语句。 如果您有一个有权从两个数据库中选择的用户,则应该可以

SELECT * FROM db1.table, db2.table

两次调用mysql_connect()并将结果存储在变量中。 然后可以将该变量发送给php中几乎每个mysql_ *调用,以告诉您所引用的是哪一个。 查看mysql_select_db()的第二个参数,您将理解。

编辑:这样一来,您当然将无法在同一查询中同时使用它们,但是除非您的数据库用户已授予对两者的访问权限,否则我认为这是您唯一的选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM