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

PHP循环更新SQL列时所有行值相同,求问题原因及解决方法

问题分析与解决方案

你的代码核心问题是每次循环都更新了id 32到61之间的所有行:
循环执行30次,每一轮都会把这个区间内所有行的image字段覆盖为当前循环的$fmle_img值。最后一轮循环时$count=30,所以所有行最终都会被设置成u30.png。

修正后的代码

$count = 1;
while ($count <= 30) {
    $fmle_img = "_src/img/profile/female/u$count.png";
    // 每次只更新对应id的行:id从32(31+1)到61(31+30)
    $db->query("UPDATE users SET image=:image WHERE id = :id", array(
        ':image' => $fmle_img,
        ':id' => 31 + $count
    ));
    $count++;
}

说明

修改后每次循环只会更新id = 31 + $count的单行,对应count从1到30,正好匹配id 32到61的所有行,每个id会被设置为对应的u1.png到u30.png。

内容的提问来源于stack exchange,提问作者Max Njoroge

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:14:57