我正在尝试从我的数据库中的两个表中查询单个结果。这是我的代码:
$pageid = mysql_real_escape_string($_GET['id']);
$query = sprintf("(SELECT * FROM classifieds WHERE pageid = '$pageid' LIMIT 1)
UNION ALL
(SELECT * FROM resumes WHERE pageid = '$pageid' LIMIT 1)");
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
echo $row['title'] . "<br/>";
}
pageid
是一个 URL 变量。此代码尝试使用该变量,用它查询数据库,并返回结果。我收到此错误:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
在这里碰壁。无法弄清楚为什么这个错误不断发生。任何帮助 == 谢谢。
最佳答案
当使用 UNION
时,两个查询的列数和列类型必须相同。
现在您正在查询两个不同的表,我想可以安全地假设列数不同或对应的列类型不匹配。
尝试使用这样的东西
select col1, col2 from classifieds.......
Union All
select col1, col2
但同样,数字和相应的列类型应该相同。
关于php - 尝试使用 UNION ALL 查询两个表时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473897/