1

起初,我有以下内容:

$sql="SELECT sum(importe_subproyecto) as importe_total FROM presupuestos_pmt WHERE oferta_numero = '$oferta_numero'";

    $result = mysqli_query($con,$sql);

    while ($row = mysqli_fetch_assoc($result))
    { 
       $importe_total = $row['importe_total'];
    }

它将“importe_total”的总和存储在同名变量中。然后,有以下内容:

$sql="UPDATE presupuestos_pmt SET `importe_total` = '$importe_total' WHERE `oferta_numero` = '$oferta_numero'";
  mysqli_query($con,$sql);

它在感兴趣的行中引入了先前计算的变量。

最后,

$rowcount = mysqli_affected_rows($con);

其中计算受影响的行。

当所有字段“importe_subproyecto”都大于 0 时,脚本可以正常工作,但当字段“importe_subproyecto”之一为 0 时,即使有 3、4、5... 更新的行,row_count 也会返回 1。

有人知道为什么吗?

例子:

在此处输入图像描述

对项目 0002 求和时,行数将为 1,因为其中一个字段importe_subproyecto为 0

4

0 回答 0