我做了这个:
$query1=mysql_query("select id, testo, titolo from events order by DESC WHERE id < 225 LIMIT 1");
while($query2=mysql_fetch_array($query1))
{
echo $query2['titolo'];
}
但是不行,我不明白为什么,有人可以帮助我?我认为问题出在查询中。
更新:我犯了两个错误:
第一个:我缺少按子句排序的列名。第二个:ORDER 的位置
按如下方式编写您的查询:-
SELECT id, testo, titolo FROM events WHERE id < 225 ORDER BY id DESC LIMIT 1
正如 chris85 所建议的那样,为了理解,请选择 ...从。。。哪里。。。次序。。。限制
此链接非常有用。
希望这对你有所帮助:)
您在WHERE
子句之前使用ORDER BY
,您无法以这种方式获得结果。
第二个问题是您没有提到 id 列或 ORDER BY
中的任何其他列。
修改后的查询:
SELECT id, testo, titolo FROM events WHERE id < 225
ORDER BY id DESC
LIMIT 1
旁注:
请使用 mysqli_*
或 PDO
而不是 mysql_*
,因为此扩展已弃用,在 PHP 7 中不可用。
您至少有 2 个错误。重写查询,如下所示:
SELECT id, testo, titolo FROM events WHERE id < 225 ORDER BY id DESC LIMIT 1
您的 order by 子句中缺少列名。该部分应类似于 order by col_name desc
.此外,如上述答案中所述,where 子句位于顺序之前。