PHP脚本在每次出错后都会死掉

PHP脚本在每次出错后都会死掉,php,Php,我试图让我的脚本在屏幕上输出错误,但错误一直输出到错误日志并终止脚本 这是我当前的代码 try{ $db->query("SELECT `test`.`test` FROM `test` WHERE `test`.`test` = test"); echo("no work?"); }catch(PDOException $er){ print("Still dont work");

我试图让我的脚本在屏幕上输出错误,但错误一直输出到错误日志并终止脚本

这是我当前的代码

        try{
            $db->query("SELECT `test`.`test` FROM `test` WHERE `test`.`test` = test");
            echo("no work?");
        }catch(PDOException $er){
            print("Still dont work");
        }
$db->query…
返回一个应该返回的错误,但是脚本在那里消失,输出到错误日志中,并且不会像我希望的那样完成它

有人能帮忙吗


总结一下我得到的一些响应,杀死脚本的不是实际的die()函数,而是它自身在
$db->query()
处的错误

顾名思义,
die()
会在打印您传递的消息后使脚本死亡(即退出)


如果您只想让它打印错误,请使用
print()
而不是
die()

ini\u set('display\u errors','On')die()
是一个本机PHP输出函数?@raina77ow我删除了die();从脚本来看,它仍然是kill's it at
$db->query()
永远不要将输出共享到错误日志中,因为它实际上可能会有所帮助。@Sven我不知道你在这里说什么,我仍然希望它输出到错误日志中,但我希望脚本停止在每次输出内容时杀死自己。确保将PDO设置为引发异常。。。在这个链接上查看PDO::ATTR_ERRMODE:我知道die();杀死脚本,但它不会回显
不工作?
它只是在$->db处死掉,不需要死();命令。自从将命令从die更改为print后,您是否尝试过它?@Bengrifiths是的,它仍然是一样的。当抛出异常(例如,由PDO引发)时,代码的执行会立即传递到
catch
块;
try
块中的以下代码均未执行。PHP中没有关于错误恢复下一步的
,也没有关于这一点的任何合理语言。@Daskwuff我理解这一点,但脚本在错误时终止,它不会传递到catch块,也不会执行任何其他操作。