Php 当删除过程中出现错误时,如何在codeigniter中捕获数据库错误?

Php 当删除过程中出现错误时,如何在codeigniter中捕获数据库错误?,php,codeigniter,mysqli,Php,Codeigniter,Mysqli,我想自定义或处理codeigniter中的查询错误delete,但问题是它不起作用。 如何使用try-catch或if-else语句处理它 控制器: public function delete($id){ $this->load->model('m_customer_info'); $delete=$this->m_customer_info->delete_data($id); $this->get_all_customers();

我想自定义或处理codeigniter中的查询错误delete,但问题是它不起作用。 如何使用try-catch或if-else语句处理它

控制器:

public function delete($id){
    $this->load->model('m_customer_info');
    $delete=$this->m_customer_info->delete_data($id);

    $this->get_all_customers(); 
}
型号:

public function delete_data($id){
    $delete="delete from member where idno='$id'";

    try{
        $this->db->query($delete);
    }
    catch(Exception $e)
    {
        echo "<script>alert('Cannot delete because it is a club officer')</script>";
    }

    /*if($delete==true){
        $this->db->query($delete);
    }
    else
        echo "<script>alert('Cannot delete because it is a club officer')</script>";
    */      
}
public函数删除数据($id){
$delete=“从成员中删除,其中idno='$id';
试一试{
$this->db->query($delete);
}
捕获(例外$e)
{
echo“警报('不能删除,因为它是俱乐部官员')”;
}
/*如果($delete==true){
$this->db->query($delete);
}
其他的
echo“警报('不能删除,因为它是俱乐部官员')”;
*/      
}

在车型中

public function delete_data($id){

    $this->db->where('idno', $id);
    if (!$this->db->delete('member')) {
        # Delete Failed
        return false;
    }  
    else{
        # delete Sucess
        return true;
    }
}
在控制器中

public function delete($id)
{
    $this->load->model('m_customer_info');
    $delete = $this->m_customer_info->delete_data($id);
    if ($delete == false) {
        echo "Delete Failed";
    }
    else{
        $this->get_all_customers(); 
    }

}

仍然显示如下:Chk删除具有外键的行时出错@帮助-me@HelpMe是的,你做不到。cz有外键。因此,创建另一个列调用是_deletd。结果是0。如果deletd更新为1,则会显示由于外键而导致的错误,这对我来说没有问题。我只想更改或替换错误消息。啊,不,你不能在CI中执行此操作。并将您的环境用于生产和测试检查q/a。