Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cakephp-Mysql中的空白记录问题_Php_Mysql_Cakephp - Fatal编程技术网

cakephp-Mysql中的空白记录问题

cakephp-Mysql中的空白记录问题,php,mysql,cakephp,Php,Mysql,Cakephp,在我的应用程序中,尽管客户端和服务器端都进行了严格的验证,但不知何故,用户注册页面的记录变为空白。所有数据均为空接受我表格中的默认值(例如性别-男性)。大约每100个注册中就有1个发生这种情况 Mysql-对于每个必填字段,我都有类似NOTNULL的结构。它仍然是空白的 Cakephp端-在保存之前,我正在检查数据数组是否为空 如果有人能帮助我,我将不胜感激 提前感谢。它是空的,因为在每个数据库(Oracle除外)中,空字符串'都不是空的。因此,数据库将接受这一点 如果要防止这种情况发生,需要编

在我的应用程序中,尽管客户端和服务器端都进行了严格的验证,但不知何故,用户注册页面的记录变为空白。所有数据均为空接受我表格中的默认值(例如性别-男性)。大约每100个注册中就有1个发生这种情况

Mysql-对于每个必填字段,我都有类似NOTNULL的结构。它仍然是空白的

Cakephp端-在保存之前,我正在检查数据数组是否为空

如果有人能帮助我,我将不胜感激


提前感谢。

它是空的,因为在每个数据库(Oracle除外)中,空字符串
'
都不是空的。因此,数据库将接受这一点

如果要防止这种情况发生,需要编写如下触发器:

DELIMITER $$

CREATE TRIGGER bi_table1_each BEFORE INSERT ON table1 FOR EACH ROW
BEGIN
  //this will cause an error and prevent the insertion of an empty gender field.
  //If gender has a default value, the database will insert the default value instead.
  IF new.gender = '' THEN SET new.gender = null;
END $$

DELIMITER ;
或者,您可以将性别设置为枚举字段

ALTER table1 
CHANGE COLUMN gender gender ENUM ('M','F');
链接:


您可以发布您的验证规则吗?