我将尝试使用Codeigniter中的会话插入并更新数据,但数据未插入数据库,甚至其打印保存成功 . 这是我的控制器:
public function save($user_id)
{
$this->load->model('Users');
$code=$this->input->post('code');
$name=$this->input->post('name');
$address=$this->input->post('address');
$user_data= array(
'code' =>$code,
'name'=>$name,
'address'=>$address,
'active'=>1
);
if($this->Users->save($user_data,$user_id))
{
$this->session->set_flashdata('msg',"save sucesss");
}else {
$this->session->set_flashdata('msg',"not save");
}
redirect('home');
}
这是我的模特:
public function save($data,$id)
{
if (id=='') {
// code...
$this->db->insert('user',$data);
return true;
}else
{
$this->db->where('id',$id)
->update('user',$data);
return true;
}
return false;
}
如果我在模型中删除了数据插入!
3 回答
无论数据库操作的结果如何,模型总是返回true . 您应该使用
insert()
或update()
的返回值,以便"message"报告实际发生的情况 .请注意,
save
的参数具有默认值 . 现在,您可以不带参数调用保存URL,它将自动执行插入操作 .现在有一份关于数据库操作的准确报告 .
第一次检查是数据进入 save controller or not 如果它没有得到数据然后修复它 . 如果然后将其以正确的格式传递给模型,它肯定会插入数据库中 .
首先要重命名模型调用,例如:
并使用它来调用您的方法:
你的模型应该是这样的:
如果你想在下一个请求中使用你的flashdata,请使用:
因为flashdata仅用于下一个请求: