2016-04-20 13 views
-3

ここに私のコードがある私のコードで何が問題になっていますか?ランクスコアのMySQL、PHP

$sql="SET @rank=0; SELECT * FROM (SELECT *, @rank:[email protected]+1 AS Rank FROM scoregame where userid=33 order by score DESC) AS t"; 
$query=mysql_query($sql); 
if(mysql_num_rows($query) != "") 
{ 
    $stt=1; 
    while($row=mysql_fetch_array($query)) 
    { 
    $stt++; 
    echo $row['score']; 
    } 
} 

が、何かが間違っ:

Warning: mysql_num_rows() expects parameter 1 to be resource 

ありがとうございました!

+1

が重複する可能性にそれを減らすことができます[mysqlの\ _fetch \ _array()/ mysqlの\ _fetch \ _assoc()/ mysqlの\ _fetch \ _ROW()パラメータ1は、リソースまたはmysqliのあることを期待\ _result、boolean given](http://stackoverflow.com/questions/2973202/mysql-fetch-array-mysql-fetch-assoc-mysql-fetch-row-expects-parameter-1toto) – Epodax

+0

mysql_queryはブール値を返していますリソースの代わりに、[mysql_error](http://php.net/manual/en/function.mysql-error.php)でよく確認してください。 – Pietro

答えて

1

一度に2つのクエリを実行しようとしました。これはこのPHP関数では機能しません。しかし、あなたは1つのクエリの

SELECT *, @rank:[email protected]+1 AS Rank 
FROM scoregame 
cross join (select @rank := 0) r 
where userid=33 
order by score DESC 
+0

はい、うまくいきました:Dありがとう;) –

関連する問題