簡體   English   中英

Mysql php Update在while循環中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM