[英]Codeigniter Update Data In Database
我是Codeigniter的新手,在了解更新数据库中数据的代码中做错了什么时遇到了问题。 我真的很感谢您的投入,因为我一直在努力寻找解决问题的方法。 谢谢!
这是我的控制器:
public function edit(){
$slug=basename($_SERVER['REQUEST_URI']);
$data['news_item']=$this->news_model->get_news($slug);
$id=$data['news_item']['id'];
$this->load->helper('form');
$this->load->library('form_validation');
$data['title'] = 'Edit a news item';
$this->form_validation->set_rules('title', 'Title', 'required');
$this->form_validation->set_rules('text', 'Text', 'required');
if ($this->form_validation->run() === FALSE)
{
$this->load->view('templates/header', $data);
$this->load->view('news/edit');
$this->load->view('templates/footer');
}
else{
$data = array(
'title' => $this->input->post('title'),
'text' => $this->input->post('text')
);
$this->news_model->edit_news($id,$data);
$this->load->view('templates/header', $data);
$this->load->view('news/success');
$this->load->view('templates/footer');
}
}
这些是我的模型,一种用于获取表行,另一种用于更新(显然是xD):
public function get_news($slug= FALSE){
if($slug === FALSE){
$query=$this->db->get('news');
return $query->result_array();
}
$query=$this->db->get_where('news', array ('slug' => $slug));
return $query->row_array();
}
public function edit_news($id,$data){
$this->db->where('id',$id);
$this->db->update('news',$data);
return;
}
我已经调试(如果可以调用它的话)控制器和模型,并通过打印或回显它们来检查所有重要的值,这些值都是有序的。
我认为我的表格或其他任何内容都没有错。 在调用实际更新之前,这一切似乎都工作正常(
$this->db->where('id',$id);
$this->db->update('news',$data);
)。
我什至不记得我在此xD上尝试过的内容了。感谢您的任何输入!
尝试返回更新
return $this->db->update('news',$data);
另外,您在哪里输入id变量?
也许做
$this->db->where('id', $this->input->post('id'))
所以看起来
$this->db->where('id', $this->input->post('id'));
return $this->db->update('news',$data);
但是,请先尝试返回。
第2部分来自有关如何创建更新功能的注释
public function edit_news($id,$data){
$slug = url_title($this->input->post('title'));
$data = array('title' => $this->input->post('title'),
'slug' => $slug,
'body' => $this->input->post('body')
);
$this->db->where('id', $this->input->post('id'));
return $this->db->update('posts',$data);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.