2017-02-28 124 views
0

我的SQL表为什么我的变量在TCPDF中未定义?

+------------+---------+ 
| 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

+1

make $ result = 0;在$ pdo-> execute()之后;现在你试图添加一些不存在的变量:) – barat

+0

[PHP:“注意:未定义的变量”,“注意:未定义的索引”和“注意:未定义的偏移量”)(http:// stackoverflow .com/questions/4261133/php-notice-undefined-variable-notice-undefined-index-and-notice-undef) – miken32

回答

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'];  
    } 
+0

是的,这确实奏效! – Jarla

2

上线

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

你让这个

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

但你运行该脚本的第一次,没有定义$ result变量中。 添加

$result = 0; 

的$ PDO连接之前或同时,之前,你不应该有任何错误了。

+0

谢谢,这是工作 – Jarla

相关问题