2017-02-28 2 views
0

My SQL-TabelleWarum ist meine Variable in TCPDF nicht definiert?

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

ich eine pdf mit TCPDF:

$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>' 
; 

Ich erwarte, dass das Ergebnis 140 sein, aber ich erhalte eine Fehlermeldung:

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

Hinweis: Wenn ich das + Zeichen entferne. Die PDF wird ohne Fehler erstellt und ich bekomme das Ergebnis 70.

+1

make $ result = 0; nach $ pdo-> execute(); Jetzt versuchen Sie, etwas zu nicht existierender Variable hinzuzufügen :) – barat

+0

Mögliches Duplikat von [PHP: "Notice: Undefinierte Variable", "Notice: Undefinierter Index" und "Notice: Undefined Offset"] (http: // stackoverflow .com/questions/4261133/php-notice-undefined-variable-notice-undefined-index-und-notice-undef) – miken32

Antwort

2

Es tut, was es auf der Dose sagt: $result ist nicht definiert, wenn Sie Ihre Daten das erste Mal durchlaufen. Sie können nichts hinzufügen, da es noch nicht definiert ist. Das sollte funktionieren.

$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

Ja, das hat funktioniert! – Jarla

2

Auf der Linie

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

Sie machen diese

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

Aber das allererste Mal, wenn Sie das Skript ausführen, wird das $ result Variable nicht definiert. In

$result = 0; 

vor der $ gU Verbindung oder vor dem, während und Sie sollten keine Fehler mehr haben.

+0

Danke, das funktioniert – Jarla

Verwandte Themen