Code Igniter在插入数据时捕获错误(Active Record)

lod*_*dhb 3 php database error-handling activerecord codeigniter-2

我使用以下代码将数据插入到我的数据库中:

$this->db->set('event_id', $event_id);
...
$this->db->set('creator_id', $creator_id);

$this->db->insert('event');
Run Code Online (Sandbox Code Playgroud)

如何确保过程成功并向用户显示确认消息,否则出现错误消息?

Dam*_*rsy 5

嗯,IIRC如果成功的话,方法返回true,所以你可以用简单的方法

if($this->db->insert('event'))
{
  echo 'Row succesfully inserted!';
}
Run Code Online (Sandbox Code Playgroud)

否则,您可能总是计算受影响的行:

//....
$this->db->insert('event');
if($this->db->affected_rows() > 0)
{
  echo 'row succesfully inserted';
}
Run Code Online (Sandbox Code Playgroud)

评论后更新:

我相信你的三个insert_batch()在三个不同的表上,因此应该检查每个表.无论如何,令我困惑的是这个检查的原因.查询不会随机失败:可能他们永远不会失败,当他们这样做时你会通过错误(记录或延迟)知道.