没有线索的愚蠢的SQL错误

时间:2016-02-03 05:33:29

标签: php mysql fetch

好的,我无法弄清楚为什么这根本不起作用。

$get_data = mysql_query("SELECT * FROM chatbox ORDER BY ID WHERE message = 'bla'");
while($data = mysql_fetch_assoc($get_data)) {
*blablabla code*
}

这不起作用。它给了我一个

  

"警告:mysql_fetch_assoc():提供的参数不是有效的MySQL结果资源"错误。 (有行号)

当我删除"WHERE message = 'bla'"部分时,它可以正常工作。尝试使用和不使用'围绕bla和周围消息的事情。消息字段在我的数据库中存在,因此条目bla也是如此。尝试使用我的数据库中的ID字段,编号为1,根本不起作用。这段简单的代码有什么问题。试着几乎无处不在,无法弄清楚......

2 个答案:

答案 0 :(得分:3)

您在ORDER BY之后使用WHERE子句,它不适合您。

修改后的查询:

SELECT * FROM chatbox WHERE message = 'bla' ORDER BY ID

当您折痕 MYSQL SELECT语句时,您需要遵循此顺序:

  

SELECT .. COLUMNS .. FROM .. WHERE .. ORDER

SELECT Manual Reference

旁注:

请使用mysqli_*PDO代替mysql_*,因为此弃用已弃用且在PHP 7中不可用。

答案 1 :(得分:1)

您的查询错误。您在条件之前使用了订单。

尝试此查询:"SELECT * FROM chatbox WHERE message = 'bla' ORDER BY ID"

并且也从mysql_*迁移到mysqli_*