尝试编写页面系统,并想知道此代码是否有效......
$get = mysql_query("SELECT * FROM blog_posts ORDER BY `date` DESC WHERE id > '". $startat ."' AND id < '". $nextPage ."' LIMIT 25")
答案 0 :(得分:4)
不,它无效。 Order By
必须接近尾声,不能在中间。
另外你不应该使用mysql_query,它是不安全的。请改用PDO。
SELECT * FROM blog_posts
WHERE id > '". $startat ."'
AND id < '". $nextPage ."'
ORDER BY `date` DESC
LIMIT 25"
答案 1 :(得分:0)
不,你的条款顺序错误 - 试试这个:
$get = mysql_query("
SELECT
*
FROM
blog_posts
WHERE
id > '". $startat ."'
AND id < '". $nextPage ."'
ORDER BY
`date` DESC
LIMIT 25");
答案 2 :(得分:0)
您的WHERE
和ORDER BY
条款是向后的。尝试:
"SELECT *
FROM blog_posts
WHERE id > '". $startat ."' AND id < '". $nextPage ."'
ORDER BY `date` DESC
LIMIT 25"
我希望$startat
和$nextPage
不会来自任何地方的用户输入。您应该使用PDO或mysqli - 不推荐使用mysql_query。
答案 3 :(得分:0)
不,order by
部分应该在where clause
之后。
它应该是这样的:
SELECT *
FROM
blog_posts
WHERE
id > '". $startat ."'
AND id < '". $nextPage ."'
ORDER BY
`date` DESC
LIMIT 25"