首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mysql中连接多个数据库、服务器,并从两个表中进行查询?

如何在mysql中连接多个数据库、服务器,并从两个表中进行查询?
EN

Stack Overflow用户
提问于 2012-03-06 21:40:22
回答 2查看 7.9K关注 0票数 1

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

代码语言:javascript
复制
$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。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-06 21:44:28

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

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

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

我不认为用一个查询就能完成你想要做的事情。您应该在获得结果后将其合并。

票数 3
EN

Stack Overflow用户

发布于 2012-03-06 21:45:09

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9584810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档