PHP MySQLi在JavaScript警报中显示错误消息

时间:2015-06-25 15:52:22

标签: javascript php mysqli alert

是否可以在变量中保存PHP / MySQLi“或死”错误消息并将其显示在JavaScript警报窗口中?

我在下面的查询中根本没有使用“或死”;有没有办法在JavaScript警报中显示错误?

以下是我正在使用的代码:

 <?php

   $update = "UPDATE table SET column1 = '$variable1', column2 = $variable2' WHERE UID = '$idVariable'";

   $query = mysqli_query($dbc, $update); // or die usually goes here

  if($query == false)
  {
    echo ("<script language='javascript'>
             window.alert('Error saving record.')
             window.location.href='javascript:history.back()'
           </script>");
  }
  else
  {
    echo ("<script language='javascript'>
             window.alert('Updated')
             window.location.href='main.php'
           </script>");
  } 

如上所述,我运行一个查询,如果失败,它会显示一条JavaScript警告,指出“错误保存记录”但错误是什么。可能是重复或其他错误。

我希望能够显示确切的错误。如果还有其他方式,请告诉我。

我在想这样的事情可能有用:

 $query = mysqli_query($dbc, $update) or die($error = mysqli_error());

我尝试在JavaScript警告窗口中显示变量$ error,但它不起作用。

1 个答案:

答案 0 :(得分:2)

没有这种情况你需要它。

  • 如果出现无法恢复的错误
    • 如果是生产服务器,只需说&#34;错误&#34;。发出系统错误消息令人困惑和不安全。 记录错误而不是从那里阅读。
    • 如果是它的开发服务器,您不需要花哨的警报,但不需要简单直接的错误消息。只是回应它。
  • 如果它是可恢复的错误(例如重复) - 那么处理它。获取错误,根据已知模式列表进行检查,然后显示用户友好提示以更改输入的值。

再次

系统错误不适合用户使用!

  • 普通用户不知道重复索引是什么。他们只会感到困惑。
  • 潜在的黑客不应该获得有关您的代码内部的免费信息。

因此,用户与系统错误无关。只是说道歉。