如何连接多个数据库、mysql中的服务器以及从彼此的两个表进行查询


How to connect multiple database,servers in mysql and query from both tables of each other?

我期待着从不同的服务器连接两个不同的数据库。此外,我希望运行一个查询,将两个数据库中的数据提取到一个结果中。我用mysql在PHP脚本中做这件事。以下是我期待如何做到这一点[没有成功:)]

$dbh1 = mysql_connect('server1', 'uname', 'pwd')or die("Unable to connect to MySQL1"); 
$dbh2 = mysql_connect('server2', 'uname', 'pwd') or die("Unable to connect to MySQL2");
mysql_select_db('db1', $dbh1);
mysql_select_db('db2', $dbh2); //both will have same table name though
$qry = mysql_query("select * from db1.table1 where db1.table1.id='100' and db1.table1.id=db2.table1.id",$dbh1) or die(mysql_error());
$row= mysql_fetch_array($qry);
echo $row[2];

我没有得到任何结果或任何错误。感谢您的帮助,tnx。

根据PHP文档:http://il2.php.net/manual/en/function.mysql-query.php

"如果没有指定链接标识符,则假定是mysql_connect()打开的最后一个链接。"

因此,在本例中,您只从$dbh2中检索数据。

我认为不可能对一个查询执行您想要执行的操作。你应该在得到结果后合并它们。

它不是那样工作的。您可以在一个SQL查询中使用多个数据库,但它总是在一个连接句柄上操作。如果需要连接到两个不同的服务器,则必须使用两个查询并在PHP中合并数据。