所以,在堆栈溢出中搜索了一段时间后,我找到了一种方法:`
$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/