この問題は、最近私に起こったようです(前の同様のシナリオでこの問題が発生したことは覚えていません)。次のコードでは、phpがループし、MySQLテーブルの値を持つフォームを表示します。値のいずれかが空の文字列が含まれている場合は、私は、次の通知を得る:PHP MySQLi fetch_object()が空の文字列の場合、未定義の変数が返されます
Notice: Undefined variable: row in /home/public_html/index.php on line XXX
文字列が空の場合、それだけ起こります。
これは、フォームのコードです:今、私は以来、列にスペースのデフォルト値を与えると思っている
while ($tmp = $res->fetch_object()->$col) {
$row[$keys[$i]] = trim((string)$tmp);
$i++;
}
:
<?php
for ($i=1; $i<5; $i++) {
$val = $env->getVal("plan_title_$i,plan_desc_$i,plan_price_$i,plan_link_$i");
}
?>
とデータを引っ張っGETVALコードの一部それは通知の問題を解決するようです。しかし、これはBLOBフィールドなので不可能です。
誰かが、値が空の文字列の場合、$行が未定義にならないようにする方法を知っていますか?これは空の文字列でのみ発生します。
もっと読む$$ [$ i]は定義されていません – Grumpy
この行は '$ row [$ keys [$ i]] =(文字列)$ tmp;' – Melsi
@Grumpyというエラーをスローすることを意味しますか?正の$ keys [$ i]が適切に定義されています。そうでない場合は、スクリプトを早期に終了させるでしょう。 –