PHP表单数据到MYSQL数据库NOT NULL规则


PHP Forms data to MYSQL Database NOT NULL rule

我正在摆弄PHP和一个测试MYSQL数据库。我创建了一个名为"名称"的表,列firstnamelastname;均设为NOT NULL。但是,我创建了一个PHP表单来输入名字和姓氏,然后它通过$_POST方法将数据发送到适当的表字段。如果我没有为两个字段输入任何信息,数据库仍然接受输入,并在每个字段中创建没有数据的行。

为什么我应该分配NOT NULL列,如果我要把检查到位的空项在PHP表单?

在这种情况下,数据库存储的是空字符串,而不是"null"值。就数据库而言,空字符串和"null"是非常不同的值。如果希望要求非空值,则应该向表添加额外的约束。此外,有必要检查PHP代码中的约束(或处理由此产生的错误),以便用户获得有用的消息并提交适当的信息。数据库中的约束只是最后的努力,以确保没有未通过约束的数据进入。

听起来像是数据库中的值实际上不是NULL,可能它们是空白的?