3

如何将同一查询中的数据从两个不同的数据库中选择到同一台服务器中?这就是我正在做的事情,但我的查询不起作用:

$sqlquery = "SELECT * FROM database_2.table_2 WHERE database_1.table_1.data_1 LIKE database_2.table_2.data_2";

$result = mysql_query($sqlquery);
$number = mysql_numrows($result);

$i = 0;
if ($number < 1) {
  print "DOH";

}else{
  while ($number > $i) {
    $content = mysql_result($result,$i,"database_2.table_2.data_3");
    print "$content";
    $i++;
  }
}
4

3 回答 3

4

问题不在于不同的数据库。

您的 WHERE 子句引用了 FROM 子句中未提供的字段 database_1.table_1.data_1。

你不是说类似

SELECT * 
FROM database_2.table_2 
JOIN database_1.table_1 
     ON (database_2.table_2.some_field = database_1.table_1.some_other_field) 
WHERE database_1.table_1.data_1 LIKE database_2.table_2.data_2

?

还,

echo mysql_error();

查询失败后 - 这将为您提供有关问题所在的线索。

于 2013-08-27T23:28:06.163 回答
0

numrows 不是下划线吗?

$number = mysql_num_rows($result);

http://php.net/manual/en/function.mysql-num-rows.php

于 2013-08-27T23:21:14.053 回答
0

尝试这个

    SELECT * FROM database_2.table_2 t2 INNER JOIN database_1.table_1 t1 
    ON  t1.data_1 = t2.data_2
于 2013-08-27T23:28:33.723 回答