mysql_fetch_row和ORDER BY - 我做错了什么?

时间:2012-01-27 15:01:45

标签: mysql sql-order-by

对于这个含糊不清的标题感到抱歉,但是我一直试图将这个问题固定一个星期并且已经用完了。

表:名称: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]无效。

1 个答案:

答案 0 :(得分:3)

LIMIT 4,1将返回第五个最高结果(因为LIMIT 0,1返回第一个)。

无论如何,mysql_fetch_row返回一个数字键的数组 - 尝试$ queryRow [0];

或者,您可以切换为mysql_fetch_arraymysql_fetch_assoc