2013-04-28 77 views
0

我想通過使用下面的select語句來通過ASC或DESC命令我的結果。PHP SELECT語句組by子句

$query = "SELECT filmcode, FilmName, Genre FROM film WHERE Genre = '".$genre_value."' ORDER by '".$order_value."' ASC"; 

該表正在加載,但是屬性沒有命令ASC,有人可以幫我找到什麼是錯誤的選擇語句?

+0

順便說一句,ASC是默認值。 – Ryan 2013-04-28 17:23:54

回答

1

該聲明沒有正確排序記錄,因爲列名是用單引號括起來的。刪除引號,它肯定會工作:

$query = "SELECT filmcode, FilmName, Genre FROM film WHERE Genre = '$genre_value' ORDER by $order_value ASC"; 

如果$order_value是列名,也可以是使用逃脫反引號,如果它正好是一個保留關鍵字。列名和表名是標識符。單引號使標識符成爲字符串文字,導致order by子句意外行爲。

+0

謝謝,修復它。 – user1839207 2013-04-28 17:24:46

+0

不客氣':D' – 2013-04-28 17:26:06

+0

如果我想把一個名爲$ radio的變量放到ASC或DESC中。下面的語句是否正常工作 - $ query =「SELECT filmcode,FilmName,Genre FROM film WHERE Genre ='」。$ genre_value。「'ORDER by」。$ order_value。「」。$ varible。「」; – user1839207 2013-04-28 17:38:40