PHP формирует данные в правиле NOT NULL базы данных MYSQL - PullRequest
0 голосов
/ 11 октября 2011

Я возиться с PHP и тестовой базой данных MYSQL. Я создал таблицу с именем 'names' со столбцами firstname и lastname; оба установлены как NOT NULL. Однако я создаю форму PHP для ввода имени и фамилии, затем она отправляет данные в соответствующие поля таблицы с помощью метода $_POST. Если я не введу информацию для обоих полей, база данных по-прежнему принимает ввод и создает строку без данных в каждом поле.

Почему я должен назначать NOT NULL для столбцов, если мне нужно будет установить проверки для пустых записей в форме PHP?

Ответы [ 2 ]

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

В этом случае ваша база данных хранит пустую строку, а не нулевое значение.Пустая строка и «ноль» очень разные значения для базы данных.Если вы хотите требовать непустое значение, вы должны добавить дополнительные ограничения в вашу таблицу.Кроме того, стоит проверить ограничения (или обработать возникающие ошибки) в вашем PHP-коде, чтобы пользователь получил полезное сообщение и смог предоставить правильную информацию.Ограничения в базе данных - это всего лишь последнее усилие, чтобы гарантировать, что никакие данные, которые не проходят ограничения, не попадут.

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

Похоже, что значения в базе данных на самом деле не равны NULL, возможно, они пустые?

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