php - codeigniter 3查询错误处理

标签 php sql codeigniter error-handling codeigniter-3

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

最佳答案

处理错误

$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;
    }
}

关于php - codeigniter 3查询错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44844471/

相关文章:

php - 如何使用 Facebook Graph API 获取用户的网络信息? (PHP)

PHPExcel_Style_Fill 无限递归

php - INSERT INTO 查询中的 SQL 错误

Codeigniter - 调用未定义的方法 CI_DB_mysql_driver::

php - 如何将图片存入数据库

Codeigniter 重定向与加载 View

PHP/Javascript/JQuery - base64 sha256 编码

php - 连接两个表并遍历数据

java - Java 和多 SQL RDBMS 之间的年度计算差异

SQL Server - 使用不同的查询获取重复的行