【问题标题】:Codeigniter Database Insert FailureCodeigniter 数据库插入失败
【发布时间】:2012-04-04 17:02:06
【问题描述】:

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

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

像下面这样的插入语句是否返回真或假,然后可以将其返回给控制器?

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

感谢您的帮助

【问题讨论】:

    标签: codeigniter activerecord insert


    【解决方案1】:

    你可以使用

    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
    }
    

    【讨论】:

    • 我最近遇到的一件需要注意的事情是,如果您使用 $this->db->affected_rows() 进行 UPDATE 查询,如果查询成功但没有信息,它将返回零已从该行中已存在的内容更改。
    【解决方案2】:

    我个人会避免使用

    $this->db->affected_rows()
    

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

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

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

    更新:

    同样的道理

    $this->db->delete()
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 2023-03-22
      • 1970-01-01
      • 2015-08-15
      相关资源
      最近更新 更多