【问题标题】:codeigniter 3 query error handlingcodeigniter 3 查询错误处理
【发布时间】:2017-06-30 10:37:46
【问题描述】:
我正在将 CI2 项目迁移到 CI3。
我遇到的一件事是处理数据库查询中的错误。有人可以告诉我正确的方法,因为我似乎无法在文档或以前的 SO 问题中找到答案。
基本上,如果查询导致 sql 错误,我想返回 false。目前,error() 似乎返回一个数组,因此无论是否有错误,它总是返回 true,这意味着我的方法总是返回 false。
function get_post()
{
$post = //some db call to get a post
if ( $this->db->error() )
{
return false;
}
else
{
return $post
}
}
【问题讨论】:
标签:
php
sql
codeigniter
error-handling
codeigniter-3
【解决方案1】:
处理错误
$this->db->error();
如果您需要获取最后发生的错误,error() 方法将返回一个包含其代码和消息的数组。
这是一个简单的例子:
if ( ! $this->db->simple_query('SELECT `example_field` FROM `example_table`')) {
$error = $this->db->error(); // Has keys 'code' and 'message'
}
1 : config/database.php
中的更改
'db_debug' => FALSE,
2:
function get_post() {
$post = //some db call to get a post
$error = $this->db->error();
if ( ! empty($error['code'])) {
return FALSE;
} else {
return $post;
}
}