Php 如何使用数组中的数据更新表列?
我有一个没有AI索引的表。我必须从一个列中修剪数据,现在我需要用修剪的结果进行更新,但对于我现在的cod,只更新相同的值,即数组中的最后一个值Php 如何使用数组中的数据更新表列?,php,mysql,Php,Mysql,我有一个没有AI索引的表。我必须从一个列中修剪数据,现在我需要用修剪的结果进行更新,但对于我现在的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++
$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++;
}
谢谢 您不需要为此设置循环。只需一个查询即可
$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... ");
2件事:
“更新`vwfl5\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
应添加带有表主键的WHERE子句,以标识数据库中的每个项目:
$i=0;
而($row=$column->fetch_assoc()){
$arr[$i]=修剪($row['profile\u value',“\”);
$db->query(“更新`vwfl5_用户_配置文件`SET profile_value=”“$arr[$i]”其中id=“..$row['id']”);
$i++;
}
您想做什么。请明确指定。您的问题不清楚。您没有where
子句,因此您正在更新该表中的每一条记录。由于您是在循环中执行此操作,因此只有循环中使用的最后一个值将保留在表中,因为您现在已将以前的所有更新都丢弃。OP正在修剪”
->trim($row['profile\u value',“\”)
,其中MySQL的-Oops完全忽略了第二个trim参数。谢谢,@Sean。没有唯一的id,并且该用户id不是唯一的。我知道如何使用where,但在我的情况下不起作用。如果您将其从更改为…设置profile\u value=trim(profile\u value)
到…设置profile\u值=修剪(“”)从profile\u值开始)
您的答案将非常准确。没有唯一的id,并且该用户id不是唯一的。我知道如何使用Where,但在我的情况下不起作用。我认为您需要一个主键,即使它是逻辑的并且没有在MySQL中声明,即Whereemail='$row[12]'和name='$row[4]'
。指示您正在更新特定行的任何内容。否则,@DontPanic#1解决方案应该会起作用。