PHP SELECT语句group by子句

时间:2013-04-28 17:21:12

标签: php mysql

我试图通过ASC或DESC使用以下select语句来命令我的结果。

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

表格正确加载但是属性没有订购ASC,有人可以帮我找出select语句的错误吗?

1 个答案:

答案 0 :(得分:1)

该语句没有正确排序记录,因为列名用单引号括起来。删除引号,它肯定会起作用:

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

如果$order_value是列名,则可以使用反引号进行转义,如果它恰好是保留关键字。列名和表名是标识符。单引号使标识符成为字符串文字,导致order by子句出现意外行为。