codeigniter 3查询错误处理

qybjjes1  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(97)

我正在将一个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
    }
}
ukxgm1gy

ukxgm1gy1#

错误处理

$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,

第二章:

function get_post() {

    $post = //some db call to get a post

    $error = $this->db->error();

    if ( ! empty($error['code'])) {
        return FALSE;
    } else {
        return $post;
    }
}

相关问题