2010-12-09 94 views
1

我有下面的語句的MySQL Where子句錯誤

$result = mysql_query("SELECT * from rests ORDER BY name asc WHERE flag = '1' LIMIT 0 , 20"); 

正在以下錯誤

Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE flag = '1' LIMIT 0 , 20' at line 1 

我不知道我要去哪裏錯了:(

回答

4

你不能有ORDER BY條款WHERE條款

請參考MySQL select syntax爲各個子句的正確順序。

試試這個:

SELECT * from rests WHERE flag = '1' ORDER BY name asc LIMIT 0 , 20 

升序排序也就是默認情況下,你可能會下降的asc

+0

+1爲最完整的答案:-) – prodigitalson 2010-12-09 06:04:12

5
$result = mysql_query("SELECT * from rests WHERE flag = '1' ORDER BY name asc LIMIT 0 , 20"); 
1

WHEREORDER BY之前。

2

ORDER BY子句必須在WHERE子句之後。就是這樣。

2

ORDER BY在最後的WHERELIMIT之後。

+0

限制應該在最後。否則它不會工作 – 2010-12-09 08:05:08