代码点火器捕获插入数据(活动记录)时的错误


Code Igniter catch errors on inserting data (Active Record)

我正在使用以下代码将数据插入数据库:

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

我如何确保这个过程是成功的,并向用户显示一个确认消息,否则是一个错误消息?

嗯,如果成功,方法返回true,所以您可以使用简单的

if($this->db->insert('event'))
{
  echo 'Row succesfully inserted!';
}

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

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

UPDATE after comment:

我相信您的三个insert_batch()在三个不同的表上,因此应该对每个表进行检查。无论如何,让我困惑的是这个检查背后的原因。查询不会随机失败:可能他们应该永远不会失败,当他们失败时,你会知道通过错误(记录或显示)。

"如果您需要获取最近发生的错误,error()方法将返回一个包含其代码和消息的数组。"https://www.codeigniter.com/userguide3/database/queries.html

$insert = $this->db->insert('event');
             if(!$insert){
                $error = $this->db->error(); // Has keys 'code' and 'message'
                echo "<BR><BR>";
                print_r($error);
                echo "<BR><BR>";
            }
            echo "Error contact the database admin.";
            die();
        }else{
            echo "SUCCESSFULLY INSERTED ITEM";
            return TRUE;
        }