我期待从不同的服务器连接两个不同的数据库。另外,我想运行一个查询,将两个数据库中的数据提取到一个结果中。我在 PHP 脚本中使用 mysql 执行此操作。这是我期待的方式[没有成功:)]
$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 中检索数据。
我认为不可能用一个查询完成您想要做的事情。你应该在得到结果后合并它们。
关于php - 如何连接多个数据库,mysql中的服务器并从彼此的两个表中查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9584810/