在我的 MySQL 数据库中,我有一个名为pages
的表,它包含多个列,其中两列是order (int)
,tab (int)
和{{ 1}}。当我这样调用查询时
name (text)
它执行没有问题,返回具有正确选项卡标签的所有行。我遇到的问题是当我使用"SELECT * FROM pages WHERE tab = '$tid'"
:
ORDER BY
我从查询中返回false。也没有错误。
当我将列"SELECT * FROM pages WHERE tab = '$tid' ORDER BY order ASC"
放在单引号order
中时,查询的工作方式与之前相同,但不应用任何订单。
无论我尝试排序哪一列,为什么我都无法返回?如何使我的查询正确排序到列?
答案 0 :(得分:5)
ORDER
是MySQL中的保留字,因此如果要将其用作标识符,则应使用反引号`
对其进行转义:
SELECT * FROM pages WHERE tab = '$tid' ORDER BY `order`
答案 1 :(得分:0)
您收到的错误并未消失。请尝试以下方法:
select * from pages order by `order`;
ORDER
是保留字。如果您没有正确引用它,查询将无法运行。