1

我正在寻找一些帮助来计算来自数据库的大量小计的总数,我正在使用的代码正在计算它,但是 PHP 回显了一个错误,说

注意:未定义变量:第 192 行 .................\viewing.php 中的 tot

但它仍在计算总成本并与之呼应,关于如何摆脱该错误的任何想法?

我正在使用以下方法从数据库中获取小计:

while($row=mysql_fetch_array($result)) { 
echo .....
$tot += $row['subtotal'];
}

在页面的底部,我已经做了它,所以它显示了总数及其工作,但它仍然给我一个错误,说变量 tot 是未定义的,有什么想法吗?

4

4 回答 4

6

这不是错误,是通知!

初始化

$tot = 0;

在你的while循环之前

于 2013-08-15T23:51:00.560 回答
1

你需要定义你的$tot变量

把它放在你的循环中使用它之前

$tot = 0;
于 2013-08-15T23:52:09.900 回答
0
           $tot = 0;
          while($row=mysql_fetch_array($result)) { 
              echo .....
          $tot += $row['subtotal'];
           }
           echo $tot;
于 2013-08-16T00:02:07.010 回答
0

从 php 文档:

没有必要在 PHP 中初始化变量,但这是一个非常好的做法。

然而它也说:

在将一个文件包含到另一个使用相同变量名的文件中的情况下,依赖未初始化变量的默认值是有问题的。开启 register_globals 也是一个主要的安全风险。如果使用未初始化的变量,则会发出E_NOTICE 级别错误。

您可以通过执行以下操作在可变级别关闭通知:

while($row=mysql_fetch_array($result)) { 
  @$tot += $row['subtotal'];
}

话虽如此,最佳做法是:

$tot = 0;
while($row=mysql_fetch_array($result)) { 
  $tot += $row['subtotal'];
}
于 2013-08-16T00:10:00.250 回答