2012-01-27 3 views
0

漠然としたタイトルのため申し訳ありませんが、私は1週間これを釘付けにしようとしていて、アイデアが足りなくなりました。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"); 
     } 
     } 
} 

出力:topIntuitionは5番目に高い結果、現在の整数2.何をする必要があります

query row =Array; topIntuition = 

私は間違っている?

編集:$query_row[<name of row>]は動作しませんが、$query_row[0]があります。

答えて

3

LIMIT 4,1は5番目に高い結果を返します(LIMIT 0,1が最初を返します)。

にかかわらず、mysql_fetch_rowは、数値のキーを持つ配列を返します。$ queryRow [0];

また、mysql_fetch_arrayまたはmysql_fetch_assocに切り替えることもできます。

+0

ありがとうございました。編集されました。しかし、それでも値 "2"を返すべきです - テーブルに "直感"値が含まれています2,5,42,3,2 –

+1

配列に何が入っているかを見るには 'print_r($ userResult);'を実行してみてください。 –

+0

編集を参照してください、私はそれだと思います。 –

関連する問題