我有一张没有AI索引的表。我不得不修剪colum中的数据,现在我需要使用trim的结果进行更新,但是现在使用cod,只有具有相同值的更新,来自该数组的最后一个值。
$i=0;
while ($row = $column->fetch_assoc()) {
$arr[$i] = trim($row['profile_value'],"\"");
$db->query("UPDATE `vwfl5_user_profiles` SET profile_value='".$arr[$i]."'");
$i++;
}
谢谢!
答案 0 :(得分:2)
你真的不需要循环。只需一个查询即可。
$db->query("UPDATE `vwfl5_user_profiles` SET profile_value= TRIM( '\"' FROM profile_value)");
如果您不想更新每条记录,只需添加一个WHERE子句,其中包含您用于获取循环结果的任何条件。
$db->query("UPDATE `vwfl5_user_profiles`
SET profile_value = TRIM( '\"' FROM profile_value) WHERE... ");
答案 1 :(得分:0)
2件事:
"UPDATE `vwfl5_user_profiles` SET profile_value='".$arr[$i]."' WHERE id=$row[id]"
(假设有一个id并且是整数)答案 2 :(得分:0)
您应该使用表主键添加WHERE子句以标识db中的每个项目:
$i=0;
while ($row = $column->fetch_assoc()) {
$arr[$i] = trim($row['profile_value'],"\"");
$db->query("UPDATE `vwfl5_user_profiles` SET profile_value='".$arr[$i]."' WHERE id = " . $row['id'] . "");
$i++;
}