我有以下查询:
$query = "SELECT - AS -
FROM -
WHERE ID = '".$id."'
ORDER BY 'PRIMARY' DESC
LIMIT ".$start.", ".$limit."";
但是,出于某种原因,查询总是以升序返回,即使我已经通过降序告诉它按顺序排序。
我不确定为什么会这样。当我通过phpMyAdmin进行查询时,它返回正确,但PHP查询没有按降序列出结果。
注意:查询中的-s是我剪切过的数据库中的名称。它们在实际查询中填充了正确的名称。
答案 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的查询相匹配