php - 数据未插入 codeigniter
问题描述
我将尝试使用 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;
}
如果我在模型中删除,则数据插入!
解决方案
无论数据库操作的结果如何,模型始终返回 true。您应该使用“消息”中的返回值来insert()
报告update()
实际发生的情况。
请注意,参数 tosave
具有默认值。现在您可以不带参数调用保存 URL,它会自动进行插入。
public function save($user_id = NULL)
{
$this->load->model('users');
$user_data = array(
'code' => $this->input->post('code'),
'name' => $this->input->post('name'),
'address' => $this->input->post('address'),
'active' => 1
);
if($this->Users->save($user_data, $user_id))
{
$msg = "save sucesss";
}
else
{
$msg = "not save";
}
$this->session->set_flashdata('msg', $msg);
redirect('home');
}
public function save($data, $id)
{
if(empty($id))
{
// code...
// insert returns TRUE on success, FALSE on failure
return $this->db->insert('user', $data);
}
// update() accepts a third argument, a "where" array
// and returns TRUE on success, FALSE on failure
return $this->db->update('user', $data, array('id' => $id));
}
现在有一个关于数据库操作的准确报告。
推荐阅读
- getstream-io - 如何查询所有活跃/在线用户?
- pyqt - PyQt:是否可以在 QGridLayout 中拖放 QWidget 以重新排列它们?
- python - 在 Django 中使用 pk 创建可下载链接
- html - data-block-on-consent="_till_responded" 是否仅适用于放大器组件?
- python - Pandas DataFrame - 迭代
- r - snapPointsToLines 不能在 R 中保留属性
- java - 多模块 maven Vs 微服务架构
- laravel - 具有附加 user_id 字段的唯一验证无效
- ruby-on-rails - rails URL重写使用
- python-3.x - 在odoo中,我可以将Many2one关系与_rec_name之外的特定字段相关联吗