我正在使用以下代码将数据插入数据库:
$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;
}