Разница между значением = «»; и значение = NULL; в PHP?

0

В чем разница между value = NULL; и value = ""; в PHP?

Я столкнулся с wierd ответом, как будто я установил value = "";, чем я получаю пустой ответ массива из базы данных, который должен быть получен, но если я устанавливаю value = NULL;, чем получаю пустой ответ строки из базы данных mysql, а не пустой ответ массива,

Я не знаю, почему это так. Любые предложения!!!

  • 4
    Это вопрос о PHP или о базах данных SQL? Если речь идет о PHP, как учитывается замечание базы данных?
Теги:

3 ответа

0
Лучший ответ

пустые строки и NULL обрабатываются по-разному в MySQL. У меня был аналогичный вопрос по этой проблеме:

зачем использовать NOT NULL default = ''?

Здесь у вас есть 2 решения:

  • Установите поле (и) базы данных, которое вы проверяете на NOT NULL по умолчанию '' или что-то подобное.
  • перепишите свои запросы, чтобы проверить оба случая. ex: 'где field =' 'OR field IS NULL'
1

Посмотрите

Работа с значениями NULL

Значение NULL может быть неожиданным до тех пор, пока вы привыкнете к этому. Концептуально, NULL означает "недостающее неизвестное значение", и оно рассматривается несколько иначе другие значения. Чтобы проверить NULL, вы не может использовать арифметическое сравнение операторы, такие как =, <, или < > . Вместо этого используйте операторы IS NULL и NOT NULL.

  • 0
    это не php ??
  • 0
    Нет, но это MySQL, который также помечен в вопросе, без указания, к которому относится этот вопрос. Проголосовал за снижение кармы (и потому что это хороший ответ, очевидно).
0

Значение = NULL задает переменную ничем, в основном. В то время как Value = "устанавливает его в пустую строку, и хотя пустая строка может выглядеть как ничего, она технически является значением рода. NULL и" " - оба значения.

  • 0
    На самом деле они совершенно разные: php.net/manual/en/language.types.null.php : $ var = ""; is_null ($ var) является ложным.
  • 0
    Хорошо, ваше право: <? Php if ('' == null) echo "'' == null"; if ('' === null) echo "'' === null"; Выходы: '' == ноль

Ещё вопросы

Сообщество Overcoder
Наверх
Меню