0

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

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

4

1 回答 1

0

只返回真。

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

这是冗余代码。

你应该能够做到

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

但是您需要检查 codeigniter 在哪些情况下返回 false。

PS为什么不在codeigniter中使用表单验证来检查字段是否为空,然后再进入模型?

于 2013-01-25T15:46:22.910 回答