[英]Database error MySQL/CodeIgniter PHP when inserting a new value
當我嘗試在MySQL數據庫中插入新值時,出現以下錯誤:
錯誤號:1048
“電子郵件”列不能為空
插入電子郵件(email)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。 但是,表單中的方法發布似乎是正確的。
嘗試這個:
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));
查看提交的內容,屆時您將看到POST提交的內容。
嘗試這個
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('email'=> $ email
);
$ this-> db-> insert('tablename',$ data);
//產生:INSERT INTO mytable(標題,名稱,日期)VALUES(“ My title”,“ My name”,“ My date”)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.