2012-01-27 92 views
0

對不起模糊的標題,但我一直試圖釘這一個星期,並已經用完了想法。mysql_fetch_row和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]呢。

回答

3

LIMIT 4,1將返回第五最高結果(如LIMIT 0,1返回第一)。

無論如何,mysql_fetch_row與是數字鍵返回一個數組 - 嘗試$ queryRow [0];

或者,您可以切換到mysql_fetch_arraymysql_fetch_assoc

+0

謝謝,我的壞。編輯。但它仍然應該返回值「2」 - 表中包含「直覺」的價值觀2,5,42,3,2 – 2012-01-27 15:05:43

+1

試着做'的print_r($ userResult);',看看有什麼是在數組中。 – 2012-01-27 15:09:13

+0

看編輯,我想就是這樣。 – 2012-01-27 15:10:46