加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 在codeigniter中发生数据库错误时如何显示没有错误页面的

发布时间:2020-12-13 21:49:45 所属栏目:PHP教程 来源:网络整理
导读:我有两张表产品和购买. 我在product.purchase_id列中使用purchase.purchase_id列设置了一个删除限制FK.然后,如果我尝试用FK删除product.product_id,它就会显示错误 A Database Error OccurredError Number: 1451Cannot delete or update a parent row: a for
我有两张表产品和购买.
我在product.purchase_id列中使用purchase.purchase_id列设置了一个删除限制FK.然后,如果我尝试用FK删除product.product_id,它就会显示错误

A Database Error Occurred

Error Number: 1451

Cannot delete or update a parent row: a foreign key constraint fails (`another_bata`.`product_purchase_item`,CONSTRAINT `FK_product_purchase_item_1` FOREIGN KEY (`product_id`) REFERENCES `product` (`product_id`) ON UPDATE CASCADE)

delete from product where product_id='158'

Filename: C:xampphtdocsrima_shoesystemdatabaseDB_driver.php

Line Number: 330

但我只想提醒一下.所以我只是尝试一下…抓住语法我的代码就在这里

try{
      $this->db->query("delete from product where product_id='$delete'");
  }
   catch (Exception $e) {
              echo "an error occured during query" ;
   }

但是这段代码不起作用.它还会在白页中显示以上错误…

解决方法

参考 Codeigniter foreign key constraint check

在database.php文件中找到该行

$db['default']['db_debug']

并将其设置为FALSE.这将阻止Codeigniter在屏幕上打印错误.

同样在删除功能中,您可以检查:

if ($this->db->_error_number() == 1451)

如果发生这种情况你需要做一些特别的事情.

Edit Remeber that in Codeigniter 3.0 (CI3),this is now $errors = $this->db->error();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读