You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使mysqli_fetch_assoc的While循环仅输出最后一个ID?

解决mysqli_fetch_assoc循环重复输出、只显示最后一个ID的问题

你现在遇到的问题很典型——因为你把输出语句放在了while循环内部,每遍历一行结果就打印一次,最终所有结果就连在一起输出了。要只显示最后一个ID,有两种简单的方法,你可以根据需求选择:

方法一:调整循环逻辑,先存最后一行再输出

不需要修改SQL,只在循环里把每一行数据覆盖存储,循环结束后再输出最后保留的那一行:

// 假设$query是你执行查询后得到的结果集
$lastRecord = null;
// 遍历所有行,每次都把当前行赋值给$lastRecord,最后它就是最后一行数据
while ($row = mysqli_fetch_assoc($query)) {
    $lastRecord = $row;
}
// 循环结束后再输出
if ($lastRecord) {
    echo "Test : " . $lastRecord['id']; // 这里的'id'替换成你表中实际的ID字段名
}

方法二:直接修改SQL,只查询最后一个ID(更高效)

如果你的ID是自增的(或者有明确的排序规则),直接让数据库返回最后一条记录就行,不用遍历所有结果,效率更高:

// 先修改你的SQL语句,按ID倒序取第一条
$sql = "SELECT id FROM 你的表名 ORDER BY id DESC LIMIT 1";
$query = mysqli_query($你的数据库连接变量, $sql);
// 直接获取这一行数据
$row = mysqli_fetch_assoc($query);
if ($row) {
    echo "Test : " . $row['id'];
}

两种方法都能达到你要的效果,推荐用第二种,因为减少了不必要的数据遍历,性能更好~

内容的提问来源于stack exchange,提问作者Ronnel Dela Peña

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 08:47:37