我在PHP中有这个mysqli预处理语句
if (isset($_POST['u']) && isset($_POST['p'])) {
$username = $_POST['u'];
$password = $_POST['p'];
$stmt = $conn->stmt_init();
$stmt = $conn->prepare("SELECT id FROM users WHERE username=? AND password=?");
$stmt->bind_param("ss",$username,$password);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($uid);
if ($stmt->num_rows > 0) {
$_SESSION["login"] = 1;
$_SESSION["uid"] = $uid;
echo $uid;
}
$stmt->close();
}
回应" 0"当它应该显示2,因为我登录到用户ID为2的帐户。我已经使用phpMyAdmin测试了该语句,并且正确地返回了正确的用户ID号。
任何帮助都会很棒,也很有教育意义,谢谢。
BTW我知道我在这里容易受到SQL注入攻击。在我弄明白之后,我会解决这个问题。