我有一个定义的自定义错误处理程序,它捕获所有异常并将它们保存到日志中。现在,如果我在mysqli查询中遇到语法错误,例如错字,那么页面将在此时完全停止加载。没有异常抛出,因此错误处理程序不会被触发,也不会记录任何内容。捕捉Mysqli错误
这是正常的吗?是否有PHP设置,我应该检查以解决此问题,以便任何mysqli查询错误引发异常?
(我不想一个异常抛出,如果查询返回0的结果 - 只有当它出现了错误,由于查询结构中的拼写错误或其他错误)
例子查询:
if($result=$db->query('SELECT bad_field_reference FROM table')){while($r=$result->fetch_assoc()){$data[]=$r;}}$result->free();
如果我尝试在PHPMyAdmin中执行此查询,它会告诉我列bad_field_reference不存在。如果我尝试将它作为我的PHP脚本的一部分执行,那么整个页面将停止加载。
澄清我只是通过查看页面源进行一些测试。显然,页面的其余部分会加载 - 但是,当启用java时某些项目被隐藏,然后我使用jquery以动画方式重新显示一些内容。那些jquery脚本没有运行,所以页面似乎停止了加载。
所以 - 现在有两个问题 - 我如何让PHP'捕捉'错误,以及如何让jquery继续运行它的脚本?
如果一个失败的mysqli查询导致您的整个脚本停止,并且您的错误处理程序未完成,那么您的错误处理程序本身就会出错。 –
它适用于所有其他出现的错误/异常 - 仅在查询本身出现错误时才适用 – Alan
显示用于查询的代码 –