PHP MySQLi fetch_object () в пустой строке возвращает неопределенную переменную - PullRequest
0 голосов
/ 23 октября 2011

Кажется, эта проблема только недавно возникла у меня (я не помню, чтобы эта проблема была в подобном сценарии ранее).С помощью следующего кода php перебирает и отображает форму со значениями из таблицы MySQL.Если какое-либо из значений содержит пустую строку, я получаю следующее уведомление:

Notice: Undefined variable: row in /home/public_html/index.php on line XXX

ТОЛЬКО это происходит, когда строка пуста.

Это код формы:

<?php
    for ($i=1; $i<5; $i++) {
      $val = $env->getVal("plan_title_$i,plan_desc_$i,plan_price_$i,plan_link_$i");
    }
?>

И часть кода getVal, извлекающая данные:

while ($tmp = $res->fetch_object()->$col) {
  $row[$keys[$i]] = trim((string)$tmp);
  $i++;
}

Теперь я подумал о том, чтобы дать столбцу значение по умолчанию для пробела, поскольку это, похоже, решает проблемузаметить проблему.Однако это невозможно, поскольку это поле BLOB.

Кто-нибудь знает, как я могу предотвратить неопределенность $ row, если полученное значение является пустой строкой?Это происходит только на пустых строках.

1 Ответ

1 голос
/ 23 октября 2011

Мы нашли в чате это решение:

while (($tmp = $res->fetch_object()->$col)!==null)

это позволит войти в цикл, даже если значения в db пусты (пустые строки).В то время как в пустых значениях не было введено значение while, в результате оператора return показывалось уведомление о неопределенной переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...