Как проверить, пуста ли mysql запись в PhP?

Я второй "ПРОХОЖДЕНИЕ" ответ, за исключением того, что тесты ДОЛЖНЫ полагаться друг на друга!!!

, Почему?

DRY - не Повторяет Себя - относится к тестированию также! Тестовые зависимости могут помочь 1) сохранить время установки, 2) сохранить ресурсы приспособления и 3) точно определить к отказам. Конечно, только, учитывая, что Ваша среда тестирования поддерживает первоклассные зависимости. Иначе я признаю, они плохи.

Продолжают http://www.iam.unibe.ch/~scg/Research/JExample/

9
задан David Willis 19 October 2009 в 23:01
поделиться

3 ответа

isset ($ description) вернет значение true, потому что $ description все еще остается установлен, даже если его значение «пусто». Что вам нужно использовать, так это пустой .

if (empty($description)) {
    echo "No description available";
} else {
    echo $description;
}
26
ответ дан 4 December 2019 в 07:47
поделиться

Используйте функцию mysql_affected_rows :

$qtd = mysql_affected_rows($result);
0
ответ дан 4 December 2019 в 07:47
поделиться

Это зависит от того, что вы имеете в виду.

mysql_result возвращает FALSE в случае сбоя, что произойдет, если вы укажете недопустимый (строка, поле). Чтобы проверить это, вы можете использовать оператор идентичности === , который проверяет и значение, и тип. Оператор равенства == , функция empty () и условная оценка оператора if проверяют значение, но не тип.

Это означает, что при использовании одного из этих методов нет никакой разницы между различными значениями, которые все равны Boolean FALSE , например, пустые строки, пустые массивы, строка '0' и значение NULL .

Поэтому, если вы хотите быть по-настоящему внимательным, вы можете сделать что-то вроде следующего:

if ($description === FALSE) {
  throw new Exception("The row $i was out of range in query $query.");
} else if ($description === NULL) {
  // assuming that the description field has a default value of NULL
  // * this one I'm not sure about.. the documentation for mysql_result claims
  //   that it returns a string, so this may never happen.
  //   It's left as an exercise for the reader.
  throw new Exception("Uninitialized value in result row $i of db query $query");
} else if ($description === '') {
  echo "No description available";
} else {
  echo $description;
}

Поскольку empty () возвращает true при таком же наборе условий, что и равенство ( == ) с FALSE , эта более строгая проверка типа будет особенно важна в случаях, когда результат может быть «0» .

По-видимому, мне не разрешено размещать более одной гиперссылки, поэтому я не мог ссылаться на документацию по операторам сравнения (" http: // php.

2
ответ дан 4 December 2019 в 07:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: