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')有人吗?或者问题实际上在于OP认为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块,也不会执行任何其他操作。