当我尝试在MySQL数据库中插入新值时,我有以下错误:
错误编号:1048
专栏"电子邮件"不能为null
插入电子邮件(电子邮件)值(null)
文件名:models/model_email.php
行号:7
我在本地服务器上运行网站时没有此错误,该错误出现在生产中。我与框架代码签名人在PHP中代码。
代码很简单:
Controler.php
public function addemail(){
ini_set('display_errors','off');
$this->load->model("Model_email","", true);
$this->Model_email->addemail($_POST["email"]);
}
model_email.php
public function addemail($email){
$sql = "INSERT INTO emails(email)VALUES(?)";
$data = array($email);
$this->db->query($sql,$data);
return $this->db->insert_id();
}
html表格
<form method="post" action="<?=site_url("/Controler/addemail")?>">
<input type="text" name="email">
<input type="submit">
</form>
当我在controler.php中的model_email.php或var_dump($ _ post [" email")的函数中添加var_dump($ email)时,两个页面都显示为null。但是,该方法以该表格的帖子是正确的。
尝试以下:
public function addemail(){
//ini_set('display_errors','off');
$this->load->model('Model_email');
$this->Model_email->addemail($this->input->post('email'));
}
尝试:
var_dump($this->input->post(NULL, TRUE));
要查看提交的内容,那时您将看到邮局提交的内容。
尝试此
public function addemail(){
//ini_set('display_errors','off');
if(isset($_POST["email"]) && $_POST["email"] && !empty($_POST["email"])){
$this->load->model("Model_email","", true);
$this->Model_email->addemail($_POST["email"]);
}
}
使用此:
$ data = array( '电子邮件'=> $电子邮件
);
$ this-> db-> insert('tableName',$ data);
//生产:插入mytable(标题,名称,日期)值('my title','我的名字','我的日期')