在我的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放在单引号中时',查询的工作方式与以前一样,但不应用任何顺序.
无论我尝试按哪个列排序,为什么我都无法返回?如何使我的查询正确排序到列?
ORDER是MySQL中的保留字,因此`如果要将其用作标识符,则应使用反引号将其转义:
SELECT * FROM pages WHERE tab = '$tid' ORDER BY `order`
Run Code Online (Sandbox Code Playgroud)