在codeigniter中,如您所知,表单的页面:/class/function/ID,其中class是控制器名称,function是控制器中的方法,ID是传递给该方法的参数.
典型的用法是(例如对于书籍网站)将书籍ID传递给函数,该函数然后将查询数据库以获得适当的书籍.我的问题是:我正在乱搞并且随机(在url字符串中)键入数据库中不存在的ID(通常点和点击浏览这种情况永远不会发生)并且由于剩余查询而导致数据库错误我尝试使用不存在的ID执行.
我已经编写了代码来检查在尝试使用ID之前是否有任何行返回,但如果ID不存在,我希望用户获得404错误页面而不是空白页面(因为这看起来像适当的功能).这需要是一个真正的404页面(不只是加载看起来像404页面的视图),以免搞砸搜索引擎.好的 - 所以我的问题是:在正常的程序逻辑流程中(如上所述)如何使用codeigniter强制404错误?谢谢.
更新:代码点火器有一个show_404('page')功能,但我认为这不会产生真正的HTTP 404错误...
我正在寻找一种方法来捕获所有数据库错误(如果发生的话),并发送错误报告我的电子邮件.对于常规的PHP错误,我扩展了CI_Exceptions类并添加了我的电子邮件发送代码以及日志记录.但数据库错误不会发生CI_Exceptions,而是直接记录CI_DB_Driver->query(),我不想修改System文件夹中的任何文件.
此外,我不想在应用程序的每个查询周围编写日志记录代码.