Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用以下 select 语句按 ASC 或 DESC 对结果进行排序。
$query = "SELECT filmcode, FilmName, Genre FROM film WHERE Genre = '".$genre_value."' ORDER by '".$order_value."' ASC";
该表加载正确,但属性未按 ASC 排序,有人可以帮我找出 select 语句有什么问题吗?
该语句没有正确排序记录,因为列名是用单引号引起来的。删除引号,它肯定会起作用:
$query = "SELECT filmcode, FilmName, Genre FROM film WHERE Genre = '$genre_value' ORDER by $order_value ASC";
如果$order_value是列名,如果它恰好是保留关键字,则可以使用反引号进行转义。列名和表名是标识符。单引号使标识符成为字符串文字,导致 order by 子句出现意外行为。
$order_value