首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查询两台未连接的服务器上的两个数据库

查询两台未连接的服务器上的两个数据库
EN

Stack Overflow用户
提问于 2011-06-20 19:44:37
回答 1查看 165关注 0票数 0

我在这个问题上遵循了很多例子,但我似乎就是不能让它起作用。我可以成功地分别查询数据库,但不能在同一查询中查询这两个数据库。

我已经尝试了别名,引用查询中的服务器...将放在名称周围,等等,什么都不起作用。

这是我的代码

连接字符串:

代码语言:javascript
复制
/// LOCAL DATABASE
$databaseprefix = "w-";
$mysqlHost = 'localhost';
$mysqlUser = 'web123-USER1';
$mysqlPass = 'SOMEPASSWORD';
$mysqlDB = $databaseprefix . 'DATABASE1';
$conn = mysql_connect($mysqlHost,$mysqlUser,$mysqlPass,true) or die('Could not connect to SQL Server on '.$mysqlHost.' '. mysql_error());

///select remote database to work with
$localDB = mysql_select_db($mysqlDB, $conn)  or die("x1 Couldn't open database $mysqlDB");

///////////// GET THE DATABASE WE WANT TO EDIT
$remoteHost = $_SESSION['localfolder'];
$remoteUser = $_SESSION['databaseuser'];
$remotePass = $_SESSION['databasepassword'];
$remoteDB = $_SESSION['database'];
$remoteconn = mysql_connect($remoteHost,$remoteUser,$remotePass,true) or die('Could not connect to SQL Server on '.$remoteHost.' '. mysql_error());

$clientDB = mysql_select_db($remoteDB, $remoteconn)  or die("x2 Couldn't open database $remoteDB");

好的,那么我有这个

代码语言:javascript
复制
$query_string = "select 
`$remoteHost`.`$remoteDB`.`pages`.`page_title`, 
`$mysqlHost`.`$mysqlDB`.`c_users`.`name`
from `$remoteHost`.`$remoteDB`.`pages`
left join `$mysqlHost`.`$mysqlDB`.`c_users`
on `$remoteHost`.`$remoteDB`.`pages`.`created_by` = `$mysqlHost`.`$mysqlDB`.`c_users`.`user_id`";

echo $query_string;
//// Query the DB's
$query = mysql_query($query_string);

echo mysql_num_rows($query);

while($row = mysql_fetch_assoc($query)) {
    echo $row['name'] . ' | ' . $row['page_title'];
}

查询的输出如下所示

代码语言:javascript
复制
select `remoteaddress.co.uk`.`remote-DB`.`pages`.`page_title`, 
`localhost`.`w-DATABASE1`.`c_users`.`name` 
from `remoteaddress.co.uk`.`remote-DB`.`pages` 
left join `localhost`.`w-DATABASE1`.`c_users` on 
`remoteaddress.co.uk`.`remote-DB`.`pages`.`created_by` = `localhost`.`w-DATABASE1`.`c_users`.`user_id`

这两个连接字段都是连接和相同排序规则上的INT数据类型。我不确定为什么这会失败。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2011-06-20 19:48:12

这是因为您的本地连接无法直接连接到远程主机...

您可以使用2个查询,每个服务器一个查询

代码语言:javascript
复制
$query = mysql_query($query_string, $conn);
$query = mysql_query($query_string, $remoteconn);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6410603

复制
相关文章

相似问题

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