Неопределенная переменная в PHP - PullRequest
0 голосов
/ 04 июля 2011

У меня есть testField в БД

testField = NULL

Я выполнил запрос:

$query = mysql_query("SELECT testField FROM table");
$result = mysql_fetch_array($query);

Я пробовал другой способ не получить ошибку. Но я все еще получаю ошибку "Неопределенная переменная".

  1. if(isset($result['testField'])){$testField = "OK"; echo $testField};
  2. if(!empty($result['testField'])){$testField = "OK"; echo $testField};
  3. if($result['testField']=='1'){$testField = "OK"; echo $testField};

пожалуйста, помогите. спасибо!

Ответы [ 5 ]

1 голос
/ 04 июля 2011

mysql_fetch_assoc - это функция, которую вы намеревались использовать.По умолчанию mysql_fetch_array выдаст вам такой массив:

$ result [0] = null;

Просто используйте mysql_fetch_assoc, и все будет хорошо.

Хороший совет, когдадля отладки введите print_r ($ result);и посмотрим, что вы получите.

0 голосов
/ 04 июля 2011

Имена переменных чувствительны к регистру, поэтому:

$testField != $testfield

Следовательно, почему вы получаете переменную неопределенную ошибку.

0 голосов
/ 04 июля 2011

Вы получаете ошибку, потому что PHP чувствителен к регистру. $testField не является той же переменной, что и $testfield.

0 голосов
/ 04 июля 2011

Имена переменных в PHP чувствительны к регистру.Проблема: $testField = "OK"; echo $testfield;.

Заменить на:

$testField = "OK"; echo $testField;

Ссылка: http://php.net/manual/en/language.variables.basics.php:

0 голосов
/ 04 июля 2011

Вы используете $ testField и $ testfield в вашем теле if, они рассматриваются как разные переменные ...

обратите внимание, что каждый имеет заглавную F, каждый имеет строчную букву f!

Хорошо, вы уже заявили, что проблема возникла только в примере, а не в исходном коде.

Попробуйте разделить строку if на несколько строк, чтобы получить фактическую строку, приводящую к ошибке

, например

if(isset($result['testField'])){
  $testField = "OK";
  echo $testField
};

Также вы можете использовать var_dump для вывода $ result перед оператором if, чтобы подтвердить, что запрос дал вам ответ (очевидно, снова удалите из производственного кода!).

...