我正在为我的codeigniter站点组合几个模型,但似乎在文档中找不到任何关于如何处理使用活动记录系统时可能发生的错误的词。
文档演示了如何执行CRUD以及一些相对复杂的查询,但没有讨论错误处理。我已经做了一个快速的谷歌搜索,看起来活动记录类不会抛出异常。真的是这样吗?那就不试着抓了..。
那么,如何编写代码来处理codeigniter中的数据库错误呢?(连接失败、键重复、引用完整性损坏、截断、数据类型错误等)
发布于 2010-02-05 14:53:50
无论您是否使用active record类,都可以使用$this->db->_error_message()
和$this->db->_error_number()
访问数据库错误。
如果您使用的是mysql数据库,则这些函数分别相当于mysql_error()
和mysql_errno()
。您可以通过查看您正在使用的数据库的数据库驱动程序的源代码来查看这些函数。它们位于系统/数据库/驱动程序中。
因此,在运行查询之后,您可以使用以下命令检查错误:
if ($this->db->_error_message()) \\handle error
发布于 2012-12-02 12:14:39
直接从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应用程序配置文件并设置以下内容来记录活动记录错误:
$config['log_threshold'] = 1;
https://stackoverflow.com/questions/2204140
复制相似问题