在PHP脚本中处理错误和继续执行

net*_*rox 4 php die execution

当它只涉及脚本的一小部分并且我尝试时,我不想"死()":

$result = mysql_query($sql) or echo("error with responses");
Run Code Online (Sandbox Code Playgroud)

但它产生了一个错误.我如何只是发出错误消息并继续执行脚本的其余部分,因为即使它无法连接,其余部分也不会受到影响.

Joh*_*ker 5

就你原来的问题标题而言 - 你不能.目的dieexit终止脚本处理.如果您不想终止脚本处理,请不要调用dieexit.

在抑制错误输出方面,可以使用错误控制操作符(@)但不可取.(如果以这种方式抑制错误,则必须自己检查错误状态.)

例如,您可以使用:

$result = @mysql_query($sql);
if(is_resource($result)) {
    // The query worked...

}
else {
   // Handle error state, perhaps using mysql_error
}
Run Code Online (Sandbox Code Playgroud)

但是,为了清楚起见,不要随意将错误抑制器添加到函数调用中.您必须确保自己正确处理任何潜在的错误.


cee*_*yoz 5

$result = mysql_query($sql);
if(mysql_error()) {
  echo "Error: " . mysql_error();
}
Run Code Online (Sandbox Code Playgroud)