php - 选择并显示表中最后 5 个条目的数据

标签 php mysql

所以,在堆栈溢出中搜索了一段时间后,我找到了一种方法:`

$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 上使用了查询,它工作正常,不知道为什么它不显示数据(表中还有一个 ID 为 1 的用户)。

最佳答案

mysqli_fetch_assoc 返回关联数组,而不是编号数组。因此,结果中每列的索引就是列名称,$row['username']

如果您想要全部 5 个用户名,则需要循环调用它。每次调用仅返回一行结果,而不是一次返回全部结果。

while ($row = mysqli_fetch_assoc($result)) {
    echo $row['username'] . '<br>';
}

要获取编号数组,请使用mysqli_fetch_row()。您仍然需要循环来获取所有这些。

while ($row = mysqli_fetch_row($result)) {
    echo $row[0] . '<br>';
}

关于php - 选择并显示表中最后 5 个条目的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41389463/

相关文章:

无论缓冲区设置如何,PHP 命令行输出缓冲区输出

mysql - 在单个 SQL 查询中获取无条件求和和条件

mysql - Zend DB 联合错误

php - Ajax 在数据库中插入 null 值

php - cURL 从有效的 url 返回空输出 - 没有错误报告

php - Laravel:stream_socket_enable_crypto():SSL 操作失败,代码为 1

php - URL 路由器中的组和中间件

mysql - 如何通过每天和每周定义的层次结构汇总事件类型(使用 SQL 或 ETL)

php - 在主分类中显示子分类的文章 PHP MYSQL

php - 如何从MySQL列中获取最高值