MySQLi准备的SELECT语句没有返回正确的值?

时间:2015-06-13 06:29:22

标签: php html mysql mysqli

我在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注入攻击。在我弄明白之后,我会解决这个问题。

0 个答案:

没有答案