检查数据库以获取用户凭据 - 错误500

时间:2014-05-26 11:18:47

标签: php mysql mysqli

当我使用下面的代码时,我收到错误500.如果我删除它运行的if语句。为什么不使用if语句运行以查看用户是否输入了正确的详细信息。

$email = $_POST['email'];
$password = $_POST['password'];
$token = $_POST['token'];
$hashed = hash( 'sha512', $password);

$q = $db->query("SELECT * FROM users WHERE email='".$email."' AND password='".$hashed."'");
if (mysqli_num_rows($q) > 0) {
    echo "success";
    $_SESSION['auth'] = 1;
    setcookie("username", $_POST['name'], time()+(84600*30));
} 
    echo "fail";
}

1 个答案:

答案 0 :(得分:1)

您的错误很遗漏else子句或未关闭的括号}

下面:

if (mysqli_num_rows($q) > 0) {
    echo "success";
    $_SESSION['auth'] = 1;
    setcookie("username", $_POST['name'], time()+(84600*30));
} else { //<<<<<<<<<<<<<<< HERE
    echo "fail";
}

或只删除最后一个}

另外,在开发过程中,请更改浏览器配置,以免显示友好错误消息。错误500显示,因为您的脚本已损坏并且它向浏览器发送错误并使用500代码解释它并显示此“友好消息”