Итак, после поиска в течение некоторого времени здесь, в stack overflow, я нашел способ сделать это:`
$sql = "SELECT username FROM (SELECT * FROM users ORDER BY id DESC LIMIT 5) sub ORDER BY id DESC";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
echo $row[0];`
Однако, когда я повторяю $row[0], чтобы получить первую запись, она ничего не отображает. Я проверил свое соединение с базой данных и использовал запрос на phpmyAdmin, и он работал хорошо, не уверен, почему он не отображает данные (есть также пользователь в таблице с идентификатором 1).
mysqli_fetch_assoc
возвращает ассоциативный массив, а не нумерованный массив. Таким образом, индекс каждого столбца в результате — это имя столбца,$row['username']
.Если вы хотите все 5 имен пользователей, вам нужно вызвать его в цикле. Каждый вызов возвращает только одну строку результатов, а не все сразу.
Для получения нумерованного массива используется
mysqli_fetch_row()
. Вам все еще нужна петля, чтобы получить все из них.