2012-09-20 3 views
-1

페이지 시스템을하려고,이 코드가 유효한지 궁금 ...이 SQL 행이 유효합니까?

$get = mysql_query("SELECT * FROM blog_posts ORDER BY `date` DESC WHERE id > '". $startat ."' AND id < '". $nextPage ."' LIMIT 25") 
+4

은 당신이 (SQL) 오류가나요 :

그것은이 같은해야 하는가? 그렇다면 : 아마 유효하지 않습니다 ..... – Nanne

+0

문제가 해결 되었습니까? 나머지 문제는 저희에게 알려주십시오. 또는 대답을 수락하십시오! – youngcouple10

답변

4

아니, 유효하지 않습니다. Order By은 끝 부분에 있어야하며 가운데에있을 수 없습니다.

또한 mysql_query를 사용하면 안되며, 안전하지 않습니다. 대신 PDO를 사용하십시오.

SELECT * FROM blog_posts 
WHERE id > '". $startat ."' 
AND id < '". $nextPage ."' 
ORDER BY `date` DESC 
LIMIT 25" 
0

아니, 당신이 잘못된 순서로 조항이 -이 시도 :

<br> 
    $get = mysql_query("SELECT * FROM blog_posts WHERE id > \ 
'". $startat ."' AND id < '". $nextPage ."' 
ORDER BY date DESC LIMIT 25"); 
0

조회에 보일 것입니다.

"SELECT * 
FROM blog_posts 
WHERE id > '". $startat ."' AND id < '". $nextPage ."' 
ORDER BY `date` DESC 
LIMIT 25" 

을 그리고 $startat$nextPage 어느 곳에서든지 사용자의 입력에서 오지 않는 희망 :보십시오. 실제로 PDO 나 mysqli를 사용해야합니다 - 이유 때문에 mysql_query가 더 이상 사용되지 않습니다.

0

귀하의 WHEREORDER BY 조항 거꾸로처럼

$get = mysql_query(" 
    SELECT 
     * 
    FROM 
     blog_posts 
    WHERE 
     id > '". $startat ."' 
     AND id < '". $nextPage ."' 
    ORDER BY 
     `date` DESC 
    LIMIT 25"); 
0

아니요, order by 부분은 where clause 뒤에 와야합니다. 하려고 할 때

SELECT * 
    FROM 
     blog_posts 
    WHERE 
     id > '". $startat ."' 
     AND id < '". $nextPage ."' 
    ORDER BY 
     `date` DESC 
    LIMIT 25" 
관련 문제