PHP:die/exit中的多个命令

mat*_*thy 0 php command exit die

当它出错时,我希望他做两件事.

  1. echo nl2br($ qVraagOp);
  2. mysql_error();

所以我想:

$rVraagOp = mysql_query( $qVraagOp ) or die( echo nl2br($qVraagOp); mysql_error(); );
Run Code Online (Sandbox Code Playgroud)

我可以编写一个执行这两项操作的函数,然后调用它,但这有点多余.还有另外一种方法吗?

Matthy

Pas*_*TIN 5

只是因为技术错误消息而死,所以至少对你的最终用户来说并不是很有用; 你应该设计你的网站,记住它们.

对任何人来说可能更有用的解决方案是:

  • 将技术错误消息记录到您有时会检查的文件中
  • 向最终用户显示一个不错的" oops,发生错误 "页面.


不过,如果你真的需要这个,你可以:

  • 连接两个信息,只有一个字符串
  • 使用if/else-block; 这可能会使您的代码更容易阅读.


一个很好的解决方案可能是使用异常(半伪代码):
当然,这是考虑到你已经定义了MySQLException某个地方.

try {
    // Do some stuff

    if (!mysql_query(...)) {
        throw new MySQLException(mysql_error());
    }

    // Some other stuff
} catch (MySQLException $e) {
    // Deal with the MySQLException kind of Exception
    // i.e. deal my SQL errors
    // => Log to file
    //    + display a nice error page
} catch (Exception $e) {
    // At least, if something in the try block
    // might raise an Exception that's not a MySQLException
}
Run Code Online (Sandbox Code Playgroud)

Exception的一个好处是,处理错误的所有代码都在一个地方:die代码中间没有任何地方