【发布时间】:2014-10-28 19:37:12
【问题描述】:
我们有两个数据库连接,如下所示,
$link1 = mysqli_connect($host1,$user1,$pass1,$db1);
$link2 = mysqli_connect($host2,$user2,$pass2,$db2);
这里,主机和数据库是远程的。
$query = "SELECT db1_tbl1.name as name,db1_tbl1.email as email ,db2_tbl2.address
as address FROM db1.table1 as db1_tbl1 INNER JOIN db2.tble2 as db2_tbl2 ON
db1_tbl1.std_id = db2_tbl2.std_id WHERE program_id = '$program_id' LIMIT 1,10";
mysqli_query($link1,$query);
如果我在 mysqli_query 中使用 $link1,则会显示错误
SELECT command denied to user 'user_name'@'remote_host_ip' for table 'table_name'
For First Link($link1)
如果我使用 $link2,
SELECT command denied to user 'user_name'@'remote_host_ip' for table 'table_name'
For Second Link($link2)
通常情况下,分别连接两个远程数据库并检索数据就可以了(效果很好)
但问题是何时我想检索数据以加入两个远程主机数据库。
实际上,我如何从查询中获取两个连接同时工作的数据。
如何在mysqli_query中设置两个数据库连接链接
请帮忙?
【问题讨论】:
-
你不能做这样的跨服务器查询。检查 SO 问题 MySQL Cross Server Select Query 和 MySQL — Joins Between Databases ..