MYSQL - 来自不同数据库的SELECT

时间:2013-08-27 23:08:24

标签: php mysql select

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

$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++;
  }
}

3 个答案:

答案 0 :(得分:3)

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

您的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();

在您的查询失败后 - 这将为您提供有关错误的线索。

答案 1 :(得分:0)

是不是强调了数字?

$number = mysql_num_rows($result);

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

答案 2 :(得分:0)

试试这个

    SELECT * FROM database_2.table_2 t2 INNER JOIN database_1.table_1 t1 
    ON  t1.data_1 = t2.data_2