我有一个简单的查询结尾,像这样…
group by subject
order by count_entries DESC, person ASC
LIMIT 0,10
这是不征税(运行立即/正确当我使用Sequel Pro直接在我的MySQL数据库中运行)。
但是当通过PHP文件运行时,它返回一个500错误。要删除500错误,我所要做的就是杀死对DESC的引用(完全删除或替换为ASC) -此时我从DB获得结果。
我真的需要按降序排序的结果,但我完全没有想法在这个非常奇怪的问题。
有没有人看到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);