如何将同一查询中的数据从两个不同的数据库中选择到同一台服务器中? 这就是我正在做的,但我的查询不起作用:
$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++;
}
}
答案 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)
答案 2 :(得分:0)
试试这个
SELECT * FROM database_2.table_2 t2 INNER JOIN database_1.table_1 t1
ON t1.data_1 = t2.data_2