Codeigniter – 使用活动logging时处理错误
我正在为我的codeigniter站点放几个模型,似乎无法find关于如何处理使用Active Record系统时可能发生的错误的文档中的任何单词。
该文档演示了如何执行CRUD以及一些相对涉及的查询,但没有讨论error handling的沿线。 我做了一个快速的谷歌search,它会出现,活动logging类不会抛出exception。 这是这种情况吗? 没有尝试赶上,然后…
那么,如何编码来处理codeigniter中的数据库错误? (连接失败,密钥重复,参照完整性受损,截断,错误的数据types等)
无论您是否使用活动logging类,都可以使用$this->db->_error_message()和$this->db->_error_number()来访问数据库错误。 
 如果你使用的是mysql数据库,这些函数分别等价于mysql_error()和mysql_errno() 。 您可以通过查看所用数据库的数据库驱动程序的源代码来查看这些function。 它们位于系统/数据库/驱动程序中。 
所以,在你运行一个查询之后,你可以使用如下的东西来检查错误:
 if ($this->db->_error_message()) \\handle error 
直接从CodeIgniter支持论坛:
 $res = $this->db->query($str); if (!$res) { // if query returns null $msg = $this->db->_error_message(); $num = $this->db->_error_number(); $data['msg'] = "Error(".$num.") ".$msg; $this->load->view('customers_edit_view',$data); } 
请注意,您也可以通过进入CI应用程序configuration文件并设置以下内容来logging活动logging错误:
 $config['log_threshold'] = 1;