0

我的 Sql 表

+------------+---------+
|    name    |  price  |
+------------+---------+
|     A      |    70   |
+------------+---------+
|     B      |    70   |
+------------+---------+

我用 TCPDF 创建了一个 pdf:

$pdo = $db->prepare("SELECT * FROM table");  
    $pdo->execute(); 
    while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {  
        $result += $row['price'];       
} 

$html = '
<table><tr><th>'.$result.'</th></tr></table>'
;

我希望结果是140,但我收到一条错误消息:

Notice: Undefined variable: result 
TCPDF ERROR: Some data has already been output, can't send PDF file

注意:如果我删除+标志。pdf 的创建没有错误,我得到了结果70

4

2 回答 2

2

它按照它在锡上所说的做:在$result您第一次遍历数据时未定义。您不能向其中添加任何内容,因为它尚未定义。这应该有效。

$pdo = $db->prepare("SELECT * FROM table");  
    $pdo->execute(); 
    $result = 0.0; // Add this row. I'm assuming 'price' is a decimal
    while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {  
        $result += $row['price'];       
    }
于 2017-02-28T15:30:53.727 回答
2

在线上

$result += $row['price'];

你做这个

$result = $result + $row['price'];

但是第一次运行脚本时, $result 变量没有定义。添加

$result = 0;

在 $pdo 连接之前或 while 之前,您应该不再有任何错误。

于 2017-02-28T15:31:27.713 回答