Codeigniter数据库插入失败

时间:2012-04-04 17:02:06

标签: codeigniter activerecord insert

目前在我的控制器中,在添加新数据时,我验证输入,如果有任何问题,它会让用户知道,否则它会将数据传递给模型以插入数据库

我现在如何检查插入语句在模型中是否正常工作,并让用户知道它是否正确。

如下所示的insert语句是返回true还是false,然后可以返回给控制器?

$this->db->insert('Faviroute_Addresses', $address_data);

感谢您的帮助

2 个答案:

答案 0 :(得分:29)

您可以使用

if($this->db->insert('Faviroute_Addresses', $address_data))
{
    // Code here after successful insert
    return true;   // to the controller
}

或者您可以使用

$this->db->insert('Faviroute_Addresses', $address_data);
if($this->db->affected_rows() > 0)
{
    // Code here after successful insert
    return true; // to the controller
}

答案 1 :(得分:1)

就个人而言,我会避免使用

$this->db->affected_rows()

插入方法。 SQLServer不返回插入的值,因此从

中获取返回值
$this->db->insert(...)

会更可靠。我会保留affected_rows来检查“UPDATE”s:)

<强>更新

同样适用于

$this->db->delete()

在删除时,affected_rows()函数在SQL Server中不起作用...