起初,我有以下内容:
$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