【问题标题】:PHP MySQL UNION SELECT not working the way expectedPHP MySQL UNION SELECT 未按预期方式工作
【发布时间】:2012-08-05 17:50:57
【问题描述】:

事情是这样的,如果我只做第一个选择,它就完美了,但是当我做 UNION 时,它会回显警告:mysqli_fetch_assoc() 期望参数 1 是 mysqli_result,布尔值在 C:\bla, bla, bla 中给出。

我搜索了类似的问题和/或问题,但没有一个发现似乎给了我如何解决这个问题的线索。

<?php
$moncols='col1,col2,col3,col4';
$main = "SELECT $moncols FROM table1 WHERE col4 = 'yes'
         UNION
         SELECT $moncols FROM table2 WHERE col4 = 'yes'
         UNION
         SELECT $moncols FROM table3 WHERE col4 = 'yes'
         UNION
         SELECT $moncols FROM table4 WHERE col4 = 'yes'
         UNION
         SELECT $moncols FROM table5 WHERE col4 = 'yes'";
$resoult = $mon -> query($main);
while ($row = mysqli_fetch_assoc($resoult)){
$myStuff=$row['col4'];
$otherStuff=$row['col3'];
echo $myStuff. ' - ' .$otherStuff. '<br>';
}
?>

比 :)

【问题讨论】:

  • 您是否尝试过使用例如 phpMyAdmin 进行查询?顺便说一句,您真的要使用UNION 还是UNION ALL? (为什么resoult 不是result?:)
  • 我运行@zombat 提供的代码并出现错误,我拼错了一列,而不是在 PHP MyADMIN 中运行查询,是的,这就是问题所在。这是一个拼写错误的专栏,其他一切都很好......非常感谢。

标签: php mysql select mysqli union


【解决方案1】:

您的查询可能有错误。也许您的一张表缺少其中一列。无论如何,$resoult 不是有效的 mysqli 结果。尝试添加一些错误检查以查找问题:

$resoult = $mon->query($main);
if (! resoult) {
    echo "MySQL error: " . $mon->error);
}

【讨论】:

  • 我在 PHP MyADMIN 中运行查询,是的,这就是问题所在。这是一个拼写错误的专栏,其他一切都很好......非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-13
  • 2018-12-22
  • 2021-07-18
  • 2015-06-25
  • 1970-01-01
  • 2013-06-19
  • 1970-01-01
相关资源
最近更新 更多