Php Codeigniter数据库错误

Php Codeigniter数据库错误,php,mysql,codeigniter,Php,Mysql,Codeigniter,因此,我正在重写我们的内部内部网,以使用CodeIgniter框架。 到目前为止,我一直在使用$this->db->impacted_rows()来确定是否插入、更新或删除了行 如果此方法返回TRUE,则我假设SQL已成功。不幸的是,当没有更新记录时,此操作失败 例如,我想更新数据库中的所有记录,如果没有任何记录与where子句匹配,即使SQL实际工作,impacted_rows()将返回FALSE,因为没有更新任何内容 我已经研究了Stackoverflow,人们建议使用$this->db->

因此,我正在重写我们的内部内部网,以使用CodeIgniter框架。 到目前为止,我一直在使用
$this->db->impacted_rows()
来确定是否插入、更新或删除了行

如果此方法返回
TRUE
,则我假设SQL已成功。不幸的是,当没有更新记录时,此操作失败

例如,我想更新数据库中的所有记录,如果没有任何记录与where子句匹配,即使SQL实际工作,
impacted_rows()
将返回FALSE,因为没有更新任何内容

我已经研究了Stackoverflow,人们建议使用
$this->db->\u error\u message()
\u error\u code()
等同物。从我读到的内容来看,要使用这些函数,我需要关闭DB_DEBUG,这是我不想做的,因为我仍然在私有服务器上重写内部网,并且希望在不浏览日志文件的情况下轻松查看错误消息


有没有办法将
db_debug
设置为
true
,并根据查询是否成功调用返回true或FALSE的方法?

您可以关闭
db_debug
并仍然查看错误消息(如果有)

$this->db->query('updateall.tables SET x=1,其中y=2')//更新所有表格;y永远不是2
$ar=$this->db->受影响的_行();
如果($ar==0){
如果($this->db->\u error\u message()){
//出现数据库错误;请打印它
echo$this->db->_error_message();//和错误代码(如果需要)
}否则{
echo“没有受影响的记录,也没有数据库错误
”; echo$this->db->last_query();//如果需要,请查看last query } }否则{ 回显“$ar行受影响”; }
$config['db_debug'] = FALSE;
$this->db->query('UPDATE all.tables SET x=1 WHERE y=2');//update all tables; y is never 2

$ar = $this->db->affected_rows();

if($ar === 0){
    if($this->db->_error_message()){
        //there was a db error; print it
        echo $this->db->_error_message();//and error_code if you want
    }else{
        echo "No records affected, also no db error <br>";
        echo $this->db->last_query();//see last query if you want
    }
}else{
    echo "$ar rows affected";
}