使用PHP查询MySQL时DESC关键字出现问题

使用PHP查询MySQL时DESC关键字出现问题,php,mysql,Php,Mysql,我有一个简单的查询,结尾如下 group by subject order by count_entries DESC, person ASC LIMIT 0,10 它一点也不费力(当我使用Sequel Pro直接在MySQL数据库中运行它时,它会立即/正确地运行) 但当通过PHP文件运行时,返回500错误。要删除500错误,我所要做的就是删除对DESC的引用(要么完全删除,要么替换为ASC)——在这一点上,我从数据库中获得结果 我真的需要按降序排列结果,但我完全不知道这个非常奇怪的问题 有

我有一个简单的查询,结尾如下

group by subject
order by count_entries DESC, person ASC 
LIMIT 0,10
它一点也不费力(当我使用Sequel Pro直接在MySQL数据库中运行它时,它会立即/正确地运行)

但当通过PHP文件运行时,返回500错误。要删除500错误,我所要做的就是删除对DESC的引用(要么完全删除,要么替换为ASC)——在这一点上,我从数据库中获得结果

我真的需要按降序排列结果,但我完全不知道这个非常奇怪的问题

有人见过DESC关键字的类似行为吗?!有没有人对我可以尝试修复它有任何想法

谢谢你的想法

编辑-按要求编辑完整代码

<?php
$dbhost = 'myIP'; 
$dbuser = 'myUser'; 
$dbpass = 'myPassword'; 
$conn = mysql_connect ($dbhost, $dbuser, $dbpass) or die ('error connecting to your database'); 
$dbname = 'myDBName'; 
mysql_select_db($dbname); // connects to your database
$myquery = "select s.subject_id
, count(e.entry_id) count_entries
, e.person
from subjects s, entries e
where s.subject_id = e.subject_id
group by s.subject_id 
order by count_entries DESC, e.person ASC
LIMIT 0,10";

$query = mysql_query($myquery);

    if ( ! $myquery ) {
        echo mysql_error();
        die;
    }
    $data = array();

    for ($x = 0; $x < mysql_num_rows($query); $x++) {
        $data[] = mysql_fetch_assoc($query);
    }

    echo json_encode($data, JSON_PRETTY_PRINT);  
    mysql_close($conn);
?>

将以下内容放在代码开头,以便显示错误,而不是模糊的500错误

ini_set('display_errors', 1);

(摘自:)

嗨,达贡,我已根据p.s.的要求修改了我原来的帖子。如果我甚至从select中删除e.person,从ORDERBY中删除e.person ASC,我会遇到完全相同的问题。唯一影响成功/失败的似乎是DESC关键字
Order by
的存在没有任何意义这只能返回一行,因为使用了aggrigate countNo有很多行-主题和条目之间有一对多的关系。例如,返回10个主题ID,每个ID都有一个count\u条目,我需要确保count\u条目从最大到最小排序。这就解决了整个问题!现在DESC关键字又开始工作了。很抱歉-如果我自己读这篇文章,我会很难相信没有遗漏什么,但这确实是修复它所需要的全部!!!