我不知道这段代码有什么问题。数组中的值很好,但是当我执行查询时,会更新。
<?php
$loop=0;
while($loop< sizeof($stararray)){
$starsquery="update updatedstars set id='$distcodes[$loop]' ,stars='$stararray[$loop]'";
//$starsquery="insert into updatedstars (id,stars) values ( '$distcodes[$loop]','$stararray[$loop]')";
echo $starsquery;
mysqli_query($mysqli, $starsquery);
$loop++;
}
?>
答案 0 :(得分:1)
问题是您的SQL语句。您的PHP代码将正常运行。
您正在执行SQL语句
UPDATE `updatedstars` SET `id` = SOME_ID, `stars` = SOME_STARS
这是不您根据正在运行的while
循环指示所需的SQL语句。上述语句会将updatedstars
表中的每一行更新为该查询中的值。这可能不好而不是您想要的设计。
您要做的是将更新限制为单行,即具有正确id
值的行。
您的查询应该是
UPDATE `updatedstars` SET `stars` = SOME_STARS WHERE `id` = SOME_ID
在您的PHP代码中,那是
$starsquery="update updatedstars set stars='$stararray[$loop]' where id='$distcodes[$loop]'";