Php 当Web应用程序中的查询失败时,如何正确响应?

Php 当Web应用程序中的查询失败时,如何正确响应?,php,sql,web-applications,error-handling,user-experience,Php,Sql,Web Applications,Error Handling,User Experience,一半的函数在失败时返回false。对于开发时的故障排除来说,这是很好的,但是当发布时,应该如何使用它呢?例如,如果用户遇到错误,技术信息可能不相关,那么是否应该从最终产品中删除所有类似信息?我有一部分担心,如果发生问题的脚本包含在另一个脚本中,这会使人们感到困惑,并会破坏可伸缩性 if(!$link) die('Can\'t connect to MySQL: '.mysql_error()); $db_selected = mysqli_select_db($link, 'Storag

一半的函数在失败时返回false。对于开发时的故障排除来说,这是很好的,但是当发布时,应该如何使用它呢?例如,如果用户遇到错误,技术信息可能不相关,那么是否应该从最终产品中删除所有类似信息?我有一部分担心,如果发生问题的脚本包含在另一个脚本中,这会使人们感到困惑,并会破坏可伸缩性

if(!$link)
    die('Can\'t connect to MySQL: '.mysql_error());
$db_selected = mysqli_select_db($link, 'Storage1');
if(!$db_selected)
    die('Can\'t use Storage1: '.mysql_error());

您不应该向访问者/用户显示这些消息


相反,您应该在服务器上记录错误,并向用户显示一条友好消息,以便重试/稍后重试/道歉等。

您应该非常小心向用户显示的内容。记录错误,以便在调试中使用,但不要将其输出给用户。他们知道的越少越好。通常的做法是使用try-catch语句,该语句可以从低级类一直应用到ui显示以及日志,这样在顶层可以显示用户友好的错误消息,而实际的错误将被记录到日志中,开发人员可以使用该语句进行纠正以进一步预防