Почему моя переменная не определена в TCPDF?

My Sql Table

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

Я создаю PDF с 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>'
;

Я ожидаю, что результат будет 140, но я получаю сообщение об ошибке:

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

Примечание: если я удалю + знак. PDF создан без ошибок, и я получаю результат 70,

0

Решение

Он делает то, что говорит на банке: $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'];
}
2

Другие решения

На линии

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

Вы делаете это

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

Но при самом первом запуске сценария переменная $ result не определена.
добавлять

$result = 0;

перед соединением $ pdo или раньше, и у вас больше не должно быть ошибок.

2