Как получить отдельный параметр из базы данных MySQL через php?

0

Я не профессионал в 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();

Но мне не удалось отобразить (получить) фактическое значение.

Показать ещё 2 комментария
Теги:

2 ответа

0
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"];
}

  • 0
    не работает. Я думаю, потому что поле ранга не является фактическим полем этой строки. это временное поле, прикрепленное к строке для отображения дополнительной информации (см. запрос sql)
0

Как отмечалось в комментариях, вы не должны использовать функции 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']

Ещё вопросы

Сообщество Overcoder
Наверх
Меню