查询返回结果时的PHP / SQL错误500

时间:2016-10-19 13:59:22

标签: php mysql mysqli

我是SQL / PHP的新手,我正在尝试按照此处的说明进行操作 - 特别是关于构建login.php页面(https://www.tutorialspoint.com/php/php_mysql_login.htm)以向我的网页添加基本登录信息。我遇到了问题...当以下查询返回成功结果时,我的页面返回错误500:

$myusername = $_POST['username'];
$mypassword = $_POST['password']; 

$sql = "SELECT id FROM admin WHERE username = '".$myusername."' and passcode = '".$mypassword."'";

我想强调,只有在返回结果时才会发生这种情况。如果不存在用户名/密码组合,则输入通常的"不正确的详细信息"消息出现。

<?php
include("config.php");
session_start();

if($_SERVER["REQUEST_METHOD"] == "POST") {
  // username and password sent from form 

  $myusername = mysqli_real_escape_string($db,$_POST['username']);
  $mypassword = mysqli_real_escape_string($db,$_POST['password']); 

  $sql = "SELECT id FROM admin WHERE username = '$myusername' and passcode = '$mypassword'";
  $result = mysqli_query($db,$sql);
  $row = mysqli_fetch_array($result,MYSQLI_ASSOC);
  $active = $row['active'];

  $count = mysqli_num_rows($result);

  // If result matched $myusername and $mypassword, table row must be 1 row

  if($count == 1) {
     session_register("myusername");
     $_SESSION['login_user'] = $myusername;

     header("location: welcome.php");
  }else {
     $error = "Your Login Name or Password is invalid";
  }
}
?>

根据打印的错误消息,错误是由此引起的:

  

注意:未定义的索引:在第14行的/var/www/html/login.php中有效

     

致命错误:在第21行的&gt; /var/www/html/login.php中调用未定义的函数session_register()

不确定哪些信息可能会有所帮助,所以我认为我应该尽可能多地提供这些信息!

  

PHPMyAdmin版本信息:4.2.12deb2 + deb8u2&#39;

     

Apache / 2.4.10(Raspbian)

     

数据库客户端版本:libmysql - 5.5.50

     

PHP扩展:mysqli文档

     

服务器:通过UNIX套接字的Localhost

     

服务器类型:MySQL

     

服务器版本:5.5.52-0 + deb8u1 - (Raspbian)

     

协议版本:10

     

用户:root @ localhost

     

服务器字符集:UTF-8 Unicode(utf8)

1 个答案:

答案 0 :(得分:-1)

500错误是运行时错误代码,可能意味着您有语法问题,与数据库的连接等。 在您学习的过程中,您可以稍微自由地在浏览器中显示错误,您可以修改您的php.ini设置display_errors = on property

根据您的服务器配置,您可以看到检查错误日志apache或php的确切错误 在Debian上,默认位置是/ var / log / apache / error_log

我希望它有所帮助