繁体   English   中英

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

[英]PHP MySQLi display error message in JavaScript 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,但它不起作用。

没有这种情况你需要它。

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

再次,

系统错误不适合用户!

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM