Php 当删除过程中出现错误时,如何在codeigniter中捕获数据库错误?
我想自定义或处理codeigniter中的查询错误delete,但问题是它不起作用。 如何使用try-catch或if-else语句处理它 控制器: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();
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。