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