Я не профессионал в php. У меня такая простая таблица:
game_id name score
и я использовал этот запрос, чтобы получить ранг игрока в mysql:
SELECT FIND_IN_SET( score, ( SELECT GROUP_CONCAT( score ORDER BY score ASC ) FROM highscores ) ) AS 'rank' FROM highscores where game_id = $game_id
он работает и показывает ранг в mysql, но я не могу получить номер ранга в качестве параметра в моем php-коде.
Я пробовал следующие методы:
mysql_fetch_assoc();
mysql_free_result();
mysql_fetch_row();
Но мне не удалось отобразить (получить) фактическое значение.
include ('dbconnection.php');
$sql = "SELECT game_id, score, ... from YOURTABLE where game_id = '$game_id'";
теперь вы должны запросить его, как
$query = mssql_query($sql, $connection);
и теперь вы можете получить его с помощью:
while($row = mssql_fetch_assoc($query))
{
echo $row["game_id"];
echo $row["score"];
}
Как отмечалось в комментариях, вы не должны использовать функции mysql_ *. Я использую mysqli.
Вы можете создать соединение
$con = mysqli_connect(serverip,"myname","mypassword","mydatabase");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
И выполнить запрос
$result = $con->query($myquery) or die($con->error.__LINE__);
После успешного выполнения запроса
вы можете получить строку с
$row = $result->fetch_assoc()
и получить отдельные поля с
$row['score']
mysql_*
в новом коде . Они больше не поддерживаются и официально устарели . Видишь красную коробку ? Вместо этого узнайте о готовых утверждениях и используйте PDO или MySQLi - эта статья поможет вам решить, какое из них лучше для вас.