尝试做一个页面系统,并想知道这段代码是否有效......
$get = mysql_query("SELECT * FROM blog_posts ORDER BY `date` DESC WHERE id > '". $startat ."' AND id < '". $nextPage ."' LIMIT 25")
不,它无效。Order By
必须靠近结尾,不能在中间。
另外你不应该使用 mysql_query,它是不安全的。请改用 PDO。
SELECT * FROM blog_posts
WHERE id > '". $startat ."'
AND id < '". $nextPage ."'
ORDER BY `date` DESC
LIMIT 25"
不,您的子句顺序错误 - 试试这个:
$get = mysql_query("
SELECT
*
FROM
blog_posts
WHERE
id > '". $startat ."'
AND id < '". $nextPage ."'
ORDER BY
`date` DESC
LIMIT 25");
您的查询应如下所示
<br>
$get = mysql_query("SELECT * FROM blog_posts WHERE id > \
'". $startat ."' AND id < '". $nextPage ."'
ORDER BY date DESC LIMIT 25");
你的WHERE
andORDER BY
子句是倒退的。尝试:
"SELECT *
FROM blog_posts
WHERE id > '". $startat ."' AND id < '". $nextPage ."'
ORDER BY `date` DESC
LIMIT 25"
我希望$startat
并且$nextPage
不要来自任何地方的用户输入。你真的应该使用 PDO 或 mysqli - mysql_query 被弃用是有原因的。
不,该order by
部分应该在where clause
.
它应该是这样的:
SELECT *
FROM
blog_posts
WHERE
id > '". $startat ."'
AND id < '". $nextPage ."'
ORDER BY
`date` DESC
LIMIT 25"