2012-08-05 72 views
0

这里的东西,如果我只是第一次选择它的作品完美,但是当我做UNION时它会回应警告:mysqli_fetch_assoc()期望参数1是mysqli_result,布尔给出C:\ bla,bla,bla。PHP MySQL UNION SELECT不按预期的方式运行

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

<?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>'; 
} 
?> 

比的:)

+2

您是否尝试过使用例如phpMyAdmin查询?顺便说一句,你真的想用'UNION'或'UNION ALL'吗? (为什么'resoult'不是'result'?:) – biziclop 2012-08-05 17:54:49

+0

我将@zombat提供的代码作为符号出现,并且出现错误,我拼错了一列,而不是我在PHP MyADMIN中查询查询,是的,那是问题所在。这是一个拼写错误的专栏,其他一切正常......非常感谢。 – 2012-08-05 21:24:51

回答

1

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

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

我用PHP MyADMIN标记查询,是的,这是问题所在。这是一个拼写错误的专栏,其他一切正常......非常感谢。 – 2012-08-05 21:28:22