我期待着从不同的服务器连接两个不同的数据库。此外,我还想运行一个查询,将两个数据库中的数据提取到一个结果中。我用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。
发布于 2012-03-06 21:44:28
根据PHP文档:http://il2.php.net/manual/en/function.mysql-query.php
如果未指定链接标识符,则假定是由mysql_connect()打开的最后一个链接。
因此,在本例中,您只能从$dbh2检索数据。
我不认为用一个查询就能完成你想要做的事情。您应该在获得结果后将其合并。
发布于 2012-03-06 21:45:09
它不是这样工作的。您可以在单个SQL查询中使用多个数据库,但它始终在一个连接句柄上操作。如果您需要连接到两个不同的服务器,则必须在PHP中使用两个查询并合并数据。
https://stackoverflow.com/questions/9584810
复制相似问题