没有线索的愚蠢 SQL 错误
Stupid SQL error with no leads
好吧,我不明白为什么这根本不起作用。
$get_data = mysql_query("SELECT * FROM chatbox ORDER BY ID WHERE message = 'bla'");
while($data = mysql_fetch_assoc($get_data)) {
*blablabla code*
}
这不起作用。它给了我
"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource" error. (with line number ofcourse)
当我删除 "WHERE message = 'bla'"
部分时,它工作正常。尝试使用和不使用 ' bla 和消息周围的东西。消息字段确实存在于我的数据库中,条目 bla 也存在。即使在我的数据库中使用编号为 1 的 ID 字段进行尝试,它也根本不起作用。这行简单的代码有什么问题。几乎到处都找遍了,想不通...
您的查询有误。您正在使用 order by before where 条件。
试试这个查询:"SELECT * FROM chatbox WHERE message = 'bla' ORDER BY ID"
并且还从 mysql_*
迁移到 mysqli_*
。
您在 ORDER BY 后使用 WHERE
子句,它不适合您。
修改后的查询:
SELECT * FROM chatbox WHERE message = 'bla' ORDER BY ID
折痕需要按照这个顺序MYSQL SELECT声明:
SELECT .. COLUMNS .. FROM .. WHERE .. ORDER
旁注:
请使用 mysqli_*
或 PDO
而不是 mysql_*
因为此扩展已弃用并且在 PHP 7.
中不可用
好吧,我不明白为什么这根本不起作用。
$get_data = mysql_query("SELECT * FROM chatbox ORDER BY ID WHERE message = 'bla'");
while($data = mysql_fetch_assoc($get_data)) {
*blablabla code*
}
这不起作用。它给了我
"Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource" error. (with line number ofcourse)
当我删除 "WHERE message = 'bla'"
部分时,它工作正常。尝试使用和不使用 ' bla 和消息周围的东西。消息字段确实存在于我的数据库中,条目 bla 也存在。即使在我的数据库中使用编号为 1 的 ID 字段进行尝试,它也根本不起作用。这行简单的代码有什么问题。几乎到处都找遍了,想不通...
您的查询有误。您正在使用 order by before where 条件。
试试这个查询:"SELECT * FROM chatbox WHERE message = 'bla' ORDER BY ID"
并且还从 mysql_*
迁移到 mysqli_*
。
您在 ORDER BY 后使用 WHERE
子句,它不适合您。
修改后的查询:
SELECT * FROM chatbox WHERE message = 'bla' ORDER BY ID
折痕需要按照这个顺序MYSQL SELECT声明:
SELECT .. COLUMNS .. FROM .. WHERE .. ORDER
旁注:
请使用 mysqli_*
或 PDO
而不是 mysql_*
因为此扩展已弃用并且在 PHP 7.