php - 尝试使用 UNION ALL 查询两个表时出错

标签 php mysql union multiple-tables

我正在尝试从我的数据库中的两个表中查询单个结果。这是我的代码:

$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/

相关文章:

php - 删除特定表 DOMXPath

javascript - 添加子菜单后,Ubermenu 元素不可点击

php - 实时更新可搜索数据库 MYSQL 和 PHP

MySQL 按字母数字顺序对 varchar 进行排序

从另一个表中选择的表的mysql联合

model-view-controller - MVC 的目录结构

javascript - 如何点击将html表单加载到 Angular 目标中?

MySQL 不将 ı 视为 i?

mysql - SQL UNION 奇怪错误

mysql - 在一条记录sql中连接多个字段