codeigniter中的affected_rows()

时间:2013-01-25 15:41:14

标签: php mysql codeigniter

假设我有一个表单,当单击某个链接时会填充该表单,并允许用户更新数据并保存对这些字段所做的更改。

$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时显示成功消息。因此,如果未进行任何更改并单击保存按钮,则会出现问题(即不显示消息)。

1 个答案:

答案 0 :(得分:0)

只需返回true。

如果连接到您的数据库时出现问题,您将在应用程序到达该点之前收到错误消息。

这是多余的代码。

你应该能够做到

return $this->db->where('id', $this->input->post('id'))->update('links', $data);

但是你需要检查codeigniter返回false的场景。

P.S为什么不能在codeigniter中使用表单验证来检查字段在转到模型之前是否为空?