У меня есть следующий запрос:
$sql = "SET @rownum := 0; SELECT * FROM ( SELECT @rownum := @rownum + 1 AS rank, totalpoints, useridFB, username FROM user_test ORDER BY totalpoints DESC ) as result WHERE useridFB=".$uid."";
С этим я получаю звание пользователя, который заработал очки, играя в некоторые игры в своей сети.
Запрос отлично работает, когда я вставляю его в phpMyAdmin, я получаю правильный ранг для пользователя.
В чем проблема? Ну, я не могу отобразить какие-либо данные, сохраненные в результате.
Я пробовал обычный:
$result = mysql_query($sql); while ($row = mysql_fetch_assoc($result)) { echo $row['totalpoints']; echo $row['rank']; echo $row['useridFB']; echo $row['username']; }
Но он возвращает ошибку:
Предупреждение: mysql_fetch_assoc (): предоставленный аргумент не является допустимым ресурсом результата MySQL в …
Нет результатов.
Что я делаю не так? Большое спасибо!
Вы не проверяете возвращаемое значение mysql_query (). Скорее всего, проблема в том, что вы обычно не можете запускать несколько запросов через mysql_query () – «SET @rownum: = 0;» это первый запрос, но быстрая проверка с помощью mysql_error () после неудачной mysql_query () была бы хорошей идеей.