如何使用数组中的数据更新表colum?

时间:2015-07-22 21:00:10

标签: php mysql

我有一张没有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++;
}

谢谢!

3 个答案:

答案 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件事:

  1. 您不应该更新特定的行吗?即:"UPDATE `vwfl5_user_profiles` SET profile_value='".$arr[$i]."' WHERE id=$row[id]"(假设有一个id并且是整数)
  2. 我认为你可以用Trim Function
  3. 来做到这一点

答案 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++;
}