1 回答

TA贡献1796条经验 获得超10个赞
每次调用 mysqli_fetch_assoc() 的 mysqli 结果,都会返回下一个结果行的 assoc 数组。例如:您的表名为 user 有 3 条记录:
id name
1 Mark
2 Sebastian
3 Smith
选择所有这些记录后:
$result = mysqli_query("SELECT * FROM user");
第一次获取将返回第一个结果行的关联数组
$posts = mysqli_fetch_assoc($result);
// $posts["id] = 1 -- $posts["id] = "Mark"
$result 的 mysqli_fetch_assoc 的第二次调用将返回第二结果行的 assoc 数组:
$posts = mysqli_fetch_assoc($result);
// $posts["id] = 2 -- $posts["id] = "Sebastian"
所以每次调用,都会返回下一条结果行,直到没有记录,该函数才会返回null。文档
因此,如果您希望代码按您希望的方式工作,我建议您删除 while 循环中的第一个 mysqli_fetch_assoc 调用:
// delete this line
$posts = mysqli_fetch_assoc($result);
- 1 回答
- 0 关注
- 161 浏览
添加回答
举报