对于这个含糊不清的标题感到抱歉,但是我一直试图将这个问题固定一个星期并且已经用完了。
表:名称:scores
id name password intuition
(int, varchar, varchar, int)
(5 rows with made-up values)
PHP:
$userResult = mysql_query("SELECT `intuition` FROM `scores` ORDER BY `intuition` DESC LIMIT 4,1");
if($userResult ==NULL)
{ die(mysql_error());
}else
{ if($userResult ==FALSE)
{ die("ranking query failed, sorry");
}else
{ if(mysql_num_rows($userResult) ==NULL)
{ die("No ranking results found.");
}else
{ $queryRow = mysql_fetch_row($userResult);
$topIntuition = $query_row['intuition'];
die("queryRow =$queryRow; topIntuition =$topIntuition");
}
}
}
输出:
query row =Array; topIntuition =
其中topIntuition
应该是第五高的结果,目前是整数2.我做错了什么?
编辑:$query_row[<name of row>]
无效,但$query_row[0]
无效。
答案 0 :(得分:3)
LIMIT 4,1将返回第五个最高结果(因为LIMIT 0,1返回第一个)。
无论如何,mysql_fetch_row
返回一个数字键的数组 - 尝试$ queryRow [0];
或者,您可以切换为mysql_fetch_array
或mysql_fetch_assoc
。