2014-01-08 75 views
-1

這是我的查詢:我在哪裏可以將DESC放在mysql查詢中? (PHP)

$query = "SELECT * FROM table ORDER BY 'timestamp' LIMIT $startAt, $perPage"; 

我想通過最新的結果(最新的放在上面)進行排序,所以我試圖添加DESC。 但是,在以往我把它在查詢它給了我一個錯誤,它沒有給出一個錯誤的唯一方法是這樣的:

$query = "SELECT * FROM movies ORDER BY 'timestamp' DESC LIMIT $startAt, $perPage"; 

但是,即使它不給一個錯誤,它仍然不起作用。

這可能似乎是一個愚蠢的事情要問,但它真的快把我逼瘋了

+0

從時間戳中刪除引號。如果你想要禮物,那麼做更多的研究:3(也是yadda yadda,我希望你;避開這些變量而不使用mysql_query) – Amelia

+0

添加樣本數據和期望的輸出。因爲語法是正確的。確切的問題是什麼? –

回答

1

Timestamp是MySQL中的數據類型。所以,請儘量避免在表格中使用此列名稱。即使你有一個名爲時間戳的列,你也必須使用反向標記。因此,請使用以下查詢:

$query = "SELECT * FROM table ORDER BY `timestamp` LIMIT $startAt, $perPage"; 
1

嘗試反引號時間戳:

$query = "SELECT * FROM movies ORDER BY `timestamp` DESC LIMIT $startAt, $perPage"; 

使用反引號允許您使用其他字符

我覺得然而,而不是強制您是否可以使用反引號,他們應該有一個名稱標準。它解決了更多'真正'的問題。

+0

值得編輯你的答案,以解釋爲什麼反向是必要的。許多用戶未能瞭解到差異 – Rottingham

+0

@ Dk-Macadamia:它不是反引號,它是單引號 –

0

請勿在字段名稱中使用引號。試試這個:

$query = "SELECT * FROM movies ORDER BY timestamp DESC LIMIT $startAt, $perPage"; 
+0

@Ayoub:你試過這個嗎? –

相關問題