[英]Mysql php Update doesnt work in while loop
我是編程新手,我遇到了Mysql Update代碼的問題。 我在'100m'列中有4個不同的行值,我試圖使用While循環為每個不同的行值計算$ points1,然后再計算,根據行值更新表。 但是從第4行開始,只有第3行獲得Total_score更新。
表:
表結構:
碼:
<?php include ("config.php"); $sql= "SELECT * FROM data_from_file"; $result= $db->query($sql); if ($result->num_rows > 0) { while($row = $result->fetch_assoc()){ $P=$row['100m']; $A=25.4347; $B=18; $C=1.81; $points1 = $A*(($B-$P)**$C); $insert =$db->query("UPDATE data_from_file SET Total_score=$points1 WHERE 100m=$P"); echo $P; echo "<br>"; echo $points1; echo "<br>"; }; } ?>
為什么只有第三個更新?
您不應該使用以表格列上的數字開頭的名稱。
$insert =$db->query("UPDATE data_from_file SET Total_score=$points1 WHERE `100m`=$P");
試試這個變量使用單引號
$insert =$db->query("UPDATE `data_from_file` SET `Total_score`='$points1' WHERE `100m`='$P'");
使用WHERE 100m=$P
是個壞主意,因為它更新了100m
值等於$P
所有行。 您應該使用WHERE id=$row['id']
,因此您將確保只更新一行。
你可以張貼表格結構嗎? 我想知道列類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.