MySQL:使用ORDER BY子句的查询不返回任何内容

Bit*_*ure 0 php mysql sql

在我的MySQL数据库,我有一个名为表pages,它包含若干列,其中两个是order (int),tab (int)name (text).当我这样调用查询时

"SELECT * FROM pages WHERE tab = '$tid'"
Run Code Online (Sandbox Code Playgroud)

它执行没有问题,返回具有正确选项卡标签的所有行.我遇到的问题是当我执行时ORDER BY:

"SELECT * FROM pages WHERE tab = '$tid' ORDER BY order ASC" 
Run Code Online (Sandbox Code Playgroud)

我从查询中得到了false.也没有错误.当我将列order放在单引号中时',查询的工作方式与以前一样,但不应用任何顺序.

无论我尝试按哪个列排序,为什么我都无法返回?如何使我的查询正确排序到列?

pot*_*hin 5

ORDER是MySQL中的保留字,因此`如果要将其用作标识符,则应使用反引号将其转义:

SELECT * FROM pages WHERE tab = '$tid' ORDER BY `order`
Run Code Online (Sandbox Code Playgroud)