SQL不使用php查询按降序排序
我有以下疑问:SQL不使用php查询按降序排序,php,mysql,Php,Mysql,我有以下疑问: $query = "SELECT - AS - FROM - WHERE ID = '".$id."' ORDER BY 'PRIMARY' DESC LIMIT ".$start.", ".$limit.""; 然而,由于某种原因,查询总是以升序返回,即使我已经告诉它按降序返回 我不太清楚为什么会这样。当我通过phpMyAdmin执行查询时,它会正确返回,但PHP查询没有按降序列出结果 注意:查询中的-,
$query = "SELECT - AS -
FROM -
WHERE ID = '".$id."'
ORDER BY 'PRIMARY' DESC
LIMIT ".$start.", ".$limit."";
然而,由于某种原因,查询总是以升序返回,即使我已经告诉它按降序返回
我不太清楚为什么会这样。当我通过phpMyAdmin执行查询时,它会正确返回,但PHP查询没有按降序列出结果
注意:查询中的-,是我截取的数据库中的名称。它们在实际查询中用正确的名称填充。在
PRIMARY
$query = "SELECT - AS -
FROM -
WHERE ID = '".$id."'
ORDER BY `PRIMARY` DESC
LIMIT ".$start.", ".$limit."";
您的查询实际上根本没有排序
您正在按常量字符串
PRIMARY
排序,所有行的排序结果都将相等。您是否尝试回显查询以确保它与您放入phpmyadmin中的查询相匹配您正在按常量值'PRIMARY'
排序结果(始终相同)
例如,您希望按列排序,因此需要指定列
ORDER BY column1
如果列名为column1
不能像这样使用PRIMARY,除非它是列名。在这种情况下,你会写
ORDER BY `PRIMARY`
asPRIMARY
是一个mysql关键字(用于主键使用)
注意
`PRIMARY`
不同于
'PRIMARY'
这是一个常量值Ahhh不确定是否使用了PRIMARY作为列名占位符。他有了这个值,查询工作正常。只是排序不起作用,因为有单引号。@StefanN-这就是为什么我问他是否通过php重复了它。我相信你已经意识到了,这往往是错误的。我打算给一个人一条鱼vs教一个人钓鱼:-)我明白,这更像是mysql的问题,而不是php的问题。他显然是在回应这个问题,因为他把它贴在了这里。谢谢,这个问题解决了。我忘了倒钩了,没问题。经验法则是在列名周围加上反勾(`),在字符串周围加上单引号(')。