2010-06-16 205 views
1

我打電話的結果形式查詢到我的網站上的列表,如果該項目是「downtown_hosted」。這工作正常,但我現在想排序列表DESC,但似乎無法得到正確的語法。mysql查詢結果排序

下面是我有:

$result_events = mysql_query("SELECT * FROM events 
           WHERE downtown='downtown_hosted' 
           ORDER BY date DESC 
           LIMIT 5 "); 
+1

並且錯誤/出錯了? – MvanGeest 2010-06-16 15:53:02

+0

問題是當我從中選擇「ORDER BY date DESC LIMIT 5」時,事件不顯示。如果我刪除了這個呼叫,那麼這些項目會顯示,但超出了所需的DESC順序。 – pixelJockey 2010-06-17 21:13:49

回答

6

你需要逃避與反引號單詞「日期」。

例如爲:

$result_events = mysql_query(" 
    SELECT * FROM events 
    WHERE downtown='downtown_hosted' 
    ORDER BY `date` DESC 
    LIMIT 5 
"); 

實際上它不是一個壞習慣進入始終與反引號包圍你的專欄,這樣你就不會擔心有語言的關鍵字衝突。

+0

我認爲這是可選的,它應該也可以不用反斜槓 – Salil 2010-06-16 15:59:06

+2

@Salil - 反引號是可選的,但是當列與語言關鍵字共享它的名字時不行。 – Matt 2010-06-16 15:59:54

+0

是的,我同意W/O但它沒有提及。 – Salil 2010-06-16 16:01:13

6

date是一個SQL關鍵字。您可以有一個名爲date的列,但每次引用時都必須使用標識符引號。在MySQL中,這是使用反引號完成的:`date`