假设我有一个表单,当单击某个链接时会填充该表单,并允许用户更新数据并保存对这些字段所做的更改。
$data = array('somevalue, 'somevalue');
$this->db->where('id', $this->input->post('id'))->update('links', $data);
if($this->db->affected_rows() == 1){
return TRUE;
}else{
return FALSE;
}
当我进行一些更改并进行保存时,一切正常,因为它会为TRUE
返回affected_rows() == 1
。如果我不做任何更改并进行保存怎么办?任何行都不会受到影响,它将返回FALSE
。
解决此问题的适当方法是什么?主要问题是我只在返回TRUE
时显示成功消息。因此,如果未进行任何更改并单击保存按钮,则会出现问题(即不显示消息)。
答案 0 :(得分:0)
只需返回true。
如果连接到您的数据库时出现问题,您将在应用程序到达该点之前收到错误消息。
这是多余的代码。
你应该能够做到
return $this->db->where('id', $this->input->post('id'))->update('links', $data);
但是你需要检查codeigniter返回false的场景。
P.S为什么不能在codeigniter中使用表单验证来检查字段在转到模型之前是否为空?