SQL不通过php查询降序排序

时间:2012-05-02 20:13:01

标签: php mysql

我有以下查询:

$query = "SELECT - AS -
         FROM -
         WHERE ID = '".$id."'
         ORDER BY 'PRIMARY' DESC
         LIMIT ".$start.", ".$limit."";

但是,出于某种原因,查询总是以升序返回,即使我已经通过降序告诉它按顺序排序。

我不确定为什么会这样。当我通过phpMyAdmin进行查询时,它返回正确,但PHP查询没有按降序列出结果。

注意:查询中的-s是我剪切过的数据库中的名称。它们在实际查询中填充了正确的名称。

4 个答案:

答案 0 :(得分:2)

您的查询实际上并未订购 你按常数字符串PRIMARY排序,对所有行都是相等的。

答案 1 :(得分:2)

您要按常量值'PRIMARY'对结果进行排序(总是相同的) 您希望按列排序,因此您需要指定列,例如

ORDER BY column1

如果列名为column1 你不能像这样使用PRIMARY,只要它是列名。在这种情况下,你会写

ORDER BY `PRIMARY`

因为PRIMARY是一个mysql关键字(主键使用)

注意

`PRIMARY`

不同
'PRIMARY'

这是一个常数值

答案 2 :(得分:0)

PRIMARY

附近使用反引号代替单引号
$query = "SELECT - AS -
         FROM -
         WHERE ID = '".$id."'
         ORDER BY `PRIMARY` DESC
         LIMIT ".$start.", ".$limit."";

答案 3 :(得分:-1)

您是否尝试回显查询以确保它与您放入phpmyadmin的查询相匹配