当我尝试在MySQL数据库中插入新值时,出现以下错误:
错误号码:1048
列'email'不能为空
INSERT INTO电子邮件(电子邮件)VALUES(NULL)
文件名:models / Model_email.php
当我在本地服务器上运行网站时,我没有出现此错误,错误出现在生产中。我使用框架CodeIgniter在PHP中编码。
但代码非常简单:
public function addemail(){
ini_set('display_errors','off');
$this->load->model("Model_email","", true);
$this->Model_email->addemail($_POST["email"]);
}
public function addemail($email){
$sql = "INSERT INTO emails(email)VALUES(?)";
$data = array($email);
$this->db->query($sql,$data);
return $this->db->insert_id();
}
<form method="post" action="<?=site_url("/Controler/addemail")?>">
<input type="text" name="email">
<input type="submit">
</form>
当我在Model_email.php中的函数中添加var_dump($ email)或在Controler.php中添加var_dump($ _ POST [“email”])时,两个页面都显示为NULL。然而,表格中的方法帖子似乎是正确的。
答案 0 :(得分:0)
Try this:
savedInstanceState
答案 1 :(得分:0)
尝试:
var_dump($this->input->post(NULL, TRUE));
查看提交的内容,届时您将看到POST提交的内容。
答案 2 :(得分:0)
试试这个
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"]);
}
}
答案 3 :(得分:0)
使用这个:
$ data = array( 'email'=&gt; $ email
);
$ this-&gt; db-&gt; insert('tablename',$ data);
//生成:INSERT INTO mytable(标题,名称,日期)VALUES('我的标题','我的名字','我的约会')