SQL:ORDER BY、AND、WHERE 返回布尔错误 [关闭]
Posted
技术标签:
【中文标题】SQL:ORDER BY、AND、WHERE 返回布尔错误 [关闭]【英文标题】:SQL: ORDER BY, AND, WHERE returns boolean error [closed] 【发布时间】:2019-02-27 12:00:43 【问题描述】:如果它们的状态不活跃 (aktiv = nei) 并且如果它们的创建时间少于 7 天,则尝试按日期订购一些 id,但我得到了“mysqli_fetch_assoc() 期望参数1 是 mysqli_result, boolean given” 错误,我似乎不知道为什么。
我遵循 caluses 的一般顺序(SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY)。如果我删除 ORDRE BY 或日期选择,它会起作用。
$aktivnei = 'SELECT * FROM `test3` WHERE aktiv LIKE "Nei" AND datex BETWEEN (CURRENT_DATE() - INTERVAL 7 DAY) AND CURRENT_DATE(); ORDER BY datex DESC';
$resultaktivnei = mysqli_query($conn,$aktivnei);
<?php
while ($row = mysqli_fetch_assoc($resultaktivnei))
echo '<li class="list-group-item">'.$row['id'].' / '.strftime('%H:%M, %e.%b',strtotime($row['datex'])).'</li>';
;
?>
我也试过这个,但得到完全相同的错误。我也尝试过移动caluses,但没有成功。
$aktivnei = 'SELECT * FROM `test3`';
$aktivnei .= ' WHERE aktiv LIKE "Nei" AND datex BETWEEN (CURRENT_DATE() - INTERVAL 7 DAY) AND CURRENT_DATE();';
$aktivnei .= ' ORDER BY datex DESC';
这可能很简单,但现在我在尝试了这么多不同的东西后只是摸不着头脑。
【问题讨论】:
ORDER BY
之前有一个分号。我认为这是一个错字并投票结束此类问题。
@GordonLinoff,是的。愚蠢的我看不到这么简单的东西。也投票关闭它,对不起。
【参考方案1】:
去掉order by
之前的分号
'SELECT * FROM `test3` WHERE aktiv LIKE "Nei" AND datex BETWEEN (CURRENT_DATE() - INTERVAL 7 DAY) AND CURRENT_DATE() ORDER BY datex DESC'
【讨论】:
以上是关于SQL:ORDER BY、AND、WHERE 返回布尔错误 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
sql语句select group by order by where一般先后顺序
sql语句select group by order by where一般先后顺序
sql语句select group by order by where一般先后顺序
SQL语句 ORDER BY HAVING GROUP BY WHERE 等区别