Php MySQL字段不能为null错误,尽管该字段应允许值为null
我使用下面的语句将记录插入数据库。但是,如果每个记录的Php MySQL字段不能为null错误,尽管该字段应允许值为null,php,mysql,Php,Mysql,我使用下面的语句将记录插入数据库。但是,如果每个记录的name字段为空值,我会得到以下错误: Did not insert statement:Column 'name' cannot be null 代码: 函数插入邮件列表($user\u id、$mail\u list、$name、$姓氏、$company\u name、$email\u address、$number){ 如果($stmt=$this->link->prepare(“插入到`邮件列表'”(用户id、邮件列表id、姓名、姓
name
字段为空值,我会得到以下错误:
Did not insert statement:Column 'name' cannot be null
代码:
函数插入邮件列表($user\u id、$mail\u list、$name、$姓氏、$company\u name、$email\u address、$number){
如果($stmt=$this->link->prepare(“插入到`邮件列表'”(用户id、邮件列表id、姓名、姓氏、公司名称、电子邮件地址、单元号)值(?,,,,,,,,,,,,,?);){
//将变量作为字符串绑定到参数。
$stmt->bind_参数(“iissss”、$user_id、$mail_list、$name、$姓氏、$company_name、$email_address、$number);
//执行该语句。
$stmt->execute();
//关闭准备好的语句。
echo'没有插入语句:'.$stmt->错误'';
$stmt->close();
}
}
如果我编辑mysql表,并将默认值设置为NULL,则执行该语句。但不是没有默认值
这是不对的,因为我知道mysql字段应该允许有空值
可能的原因是什么?单词
name
是保留字,不应用作列名
看
因此,为了使用它,您必须将该列名用反勾号括起来,即`name`将mysql列值设置为default NULL将有助于解决此问题,如果您将列定义为NOT NULL,这意味着不能输入NULL值。如果您向我们显示表的元数据,我将数据库中的name更改为first_name,编辑可能会有所帮助,现在我在下一个字段上得到了一个错误:没有插入语句:“姓氏”列不能为空
function insertintomailinglist($user_id,$mail_list,$name,$surname,$company_name,$email_address,$number){
if ($stmt = $this->link->prepare("INSERT INTO `mail_lists_list`(user_id, mail_lists_id, name, surname, company_name, email_address ,cell_number) VALUES(?, ?, ?, ?, ?, ?, ?);")){
// Bind the variables to the parameter as strings.
$stmt->bind_param("iisssss",$user_id,$mail_list,$name,$surname,$company_name,$email_address,$number);
// Execute the statement.
$stmt->execute();
// Close the prepared statement.
echo '<p> Did not insert statement:'.$stmt->error.' </p>';
$stmt->close();
}
}