Php 使用while mysql_fetch_数组,并在循环期间更新

Php 使用while mysql_fetch_数组,并在循环期间更新,php,mysql,Php,Mysql,我试图从一个表中提取数据,将列与变量进行比较,然后如果它们匹配,添加它们并更新另一个表中的字段。似乎更新只在while循环中工作一次,并在整个表中该列的每一行中放置该次的值。奇怪的是,当我回显它时,所有的值都是正确的(唯一的)…但只有当我回显时…当我查看带有terminal的表时,该列的所有行都是相同的。我读到你不能一次使用2个查询…然后再次…我读到你可以,如果第一个在循环之外…请帮助 我想把每一行的field1和field2相加,把总数放在total行中 这是密码 <?php requ

我试图从一个表中提取数据,将列与变量进行比较,然后如果它们匹配,添加它们并更新另一个表中的字段。似乎更新只在while循环中工作一次,并在整个表中该列的每一行中放置该次的值。奇怪的是,当我回显它时,所有的值都是正确的(唯一的)…但只有当我回显时…当我查看带有terminal的表时,该列的所有行都是相同的。我读到你不能一次使用2个查询…然后再次…我读到你可以,如果第一个在循环之外…请帮助

我想把每一行的field1和field2相加,把总数放在total行中

这是密码

<?php

require("connection.php");


mysql_select_db("database", $connection);
echo "<br />";

$result = mysql_query("SELECT * FROM table");

while($row = mysql_fetch_array($result))
{

$values = ($row['field1'] + $row['field2']);

echo "values = " . $values;


$sql=mysql_query("UPDATE table SET total_val = '$values'");


echo $row['user_name'] . " " . $values;
echo "<br />";

}

?>

ech总数正是我想要的。我只需要将它们放在total_val列中。

当前查询更新数据库中的所有行

试试这个:

$sql=mysql_query("UPDATE table SET total_val = '$values' WHERE id=".$row['id']);
更新
while
循环中的特定(当前)行

目前它是这样做的,当循环到达迭代结束时,它的总数是21,它用值21更新表,因此所有行都包含21

每次更新查询都会更新所有行 在此处输入要更新的唯一id的条件

$sql=mysql_query("UPDATE table SET total_val = '$values' WHERE id=$row['id']");

令人惊叹的!!!成功了!!!非常感谢。我花了两天的时间想弄明白…再次谢谢你@zdvdla:我很高兴,欢迎您,通过接受答案来体现答案的价值。在这个例子中,我有更多的事情要做,但我认为我可以做与上面相同的事情,调整用户名的[id],因为id不会与表之间匹配,但是用户名是这样的…我知道我为我的第一个项目咬了很多…但是我真的很喜欢这个编码的东西…希望我没有穿太多的衬衫…谢谢你的帮助。。。。
$sql=mysql_query("UPDATE table SET total_val = '$values' WHERE id=$row['id']");