最后显示登录失败,预处理语句在MYSQL是可以正常查询出结果的?

$sql = "select `uid`, `username`, `allow_1`, `allow_2`, `allow_3` from `loger` where `username` ='?' and `password` = '?'";
$stmt = $pdo -> prepare($sql);

$stmt -> execute(array($_POST['username'], $_POST['password']));
}catch(PDOException $e) {
echo "ERROR: ".$e->getMessage();
}
if($stmt->rowCount() > 0) {

echo "登录成功!<br>";
}else {
echo "登录失败!<br>";
}

梵蒂冈之花
浏览 137回答 1
1回答

慕神8447489

这种方法是不太好的, 更好一点的做法是:1, 取出username=:username的row, 如果找不到, 返回用户名不存在.2, 拿password == md5(:password) 来对比, 或者用其他的加密方式, 明文密码是万万不可取的, 甚至加密都要用一个 私钥 来保证.
打开App,查看更多内容
随时随地看视频慕课网APP