PHP Notice: Undefined variable: nomer in /usr/local/www/apache24/data/search.php on line 138, referer: http://domen.ru/index.php В логах индейца такая ошибка. Причем все работает. Скрипт самописный. Код (Text): <? ... $res = $conn->query(....); $count = $res->rowCount(); if ($count > 0) { $result = $res->fetch(); $nomer = ""; for ($x=0; $x<$count; $x++) { $nomer = $nomer." ".$result['date']..... "; $result = $res->fetch(); } } .... ?> <body> ... <font size="2"><?echo $nomer;?></font> </body> ругается на строку 138 она такая <font size="2"><?echo $nomer;?></font> вопрос почему?
Notice - это не ошибка, а просто предупреждение. По этому все работает. В целом на них можно и забить (но лучше конечно исправлять).
Куда вынести ? Вот и хочу исправить, что бы не было предупреждений, а то весь лог забит! @ вариант не подходит.
ну из конструкции if вынеси. Чтобы он не думал, что может возникнуть ситуация когда она окажется необъявленной
хм, интересная логика. это так глубоко анализирует код интерпритатор ?? у меня if обернут в try за try надо выносить ? просто если мы в if не попадаем, то и ничего не выводится. и ошибка логична. а если мы в if попадаем, то все объявляется и выводится. и ошибки-предупреждения быть не должно. это как я понимаю ..
Перемененные зарание нужно объявлять, до условий и прочего. Блоки try это не выход. Код (PHP): $var = null; if ($a > $b) { $var = 1; }
Этот код говнокод. Спойлер: ы Я про первый пост. --- Добавлено --- PHP: <?php $res = $conn -> query( .... ); $gnom = []; if ( $res -> rowCount() > 0 ) { $gnom = $res -> fetchAll( PDO::FETCH_FUNC, function ( ...$A ) { return implode ( ' ', $A ); } ); } .... ?> <body> ... <font size="2"><?= implode ( '<br>', $gnom ) ?></font> </body>