PHP MySQL UNION SELECT无法按预期方式工作

时间:2012-08-05 17:50:57

标签: php mysql select mysqli union

这就是事情,如果我只做第一次选择它完美,但是当我做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>';
}
?>

比的:)

1 个答案:

答案 0 :(得分:1)

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

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