准备好的声明即使存在也没有找到任何结果

时间:2016-03-19 11:44:12

标签: php mysql

所以我正在努力解决我在一个非常随机的时刻发生的小问题。这条线完美无缺,直到发生了神奇的事情,并且由于某种原因它才停止工作。

我想要做的是从POST获取用户名和密码,然后将结果绑定到语句,并检查是否有一些帐户包含这些信用额度。

$username = mysqli_real_escape_string($mysqli, $_POST['username']);
$password = mysqli_real_escape_string($mysqli, $_POST['password']);

if (!($statement = $mysqli->prepare("SELECT * FROM users WHERE username=? AND BINARY password=?"))) {
     echo "Prepare failed: (" . $mysqli->errno . ") " . $mysqli->error;
     exit();
}

if (!$statement->bind_param('ss', $username, $password)) {
    echo "Binding parameters failed: (" . $statement->errno . ") " . $statement->error;
    exit();
}

if(!$statement->execute()) {
    echo "Something went wrong.";
    exit();
}

if($statement->num_rows == 0) {
    echo "We have found no account with these creditentials.";
    exit();
}

我已经在我的数据库中尝试过几个帐户,他们根本不再工作了,不久之前就完美了,现在它已经不再适用了......

我真的被困在这里,因为我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

我删除了所有的exit();由于某种原因,它起作用了。