php - 如何连接多个数据库,mysql中的服务器并从彼此的两个表中查询?

标签 php mysql database-connection multiple-databases

我期待从不同的服务器连接两个不同的数据库。另外,我想运行一个查询,将两个数据库中的数据提取到一个结果中。我在 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/

相关文章:

php - MVC Zend Framework 中类的自动加载不起作用

php - 使用 PHP Mcrypt 加密并使用 MySQL aes_decrypt 解密?

c# - 正确的连接字符串语法

mysql - 对 mySQL 表进行分区

MySQL 函数 - 通过 ODBC 返回值

php - Laravel 5 将数据库查询从 Controller 传递到 View

java - Java 中的外部 jar 文件

php - 以另一个用户身份运行 shell 命令或更改 Apache 的用户?

php - PDO SUM MYSQL 表

php - 突出显示多选列表中的值