我正在使用codeigniter开发一个网站。我的问题是,
在开发环境中(db_debug = TRUE
)。它会抛出错误,如果我使用主键中的现有值提供数据。
我想要做的是,当查询因以下原因失败时:重复,外键违规等,在开发环境中而不是显示错误,我想从模型中返回result: true
和message: query failed for some reason
。
如何实现这一目标?
我正在测试以下代码,
$test_query = $this->db->query("INSERT INTO test SET id = 1, email = 'test@gmail.com'");
$out = array();
if($test_query) {
// do other queries and get data
$out['data'] = 'some data from other subsequent database query';
$out['msg'] = 'query failed for some reason';
$out['result'] = true;
}
else {
$out['result'] = false;
// fails
}
return $out;
注意:我想仅跳过预测/主要发生/基本错误,例如重复,外键违规,主键违规等即使在开发模式下,在开发环境中也要注意可能的错误。
我无法使用db_debug = FALSE
,因为我仍然想知道其他可能与数据库相关的查询失败,以便我可以在开发应用程序时修复这些错误。我想跳过指定错误的原因是,我不想用这些可预测的错误打破系统流程。