当用户尝试登录时,有两种方法可以检查用户是否有效。
方法一:执行如下查询,检查返回的行数是否为1。
SELECT * FROM users WHERE username = $_POST['username'] AND password = md5($_POST['password'])
方法二:执行查询,然后检查密码是否匹配。
SELECT * FROM users WHERE username = $_POST['username']
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)){
if($row['password'] == md5($_POST['password'])) $logged_in = TRUE;
}
这些方法中的一种是否优于另一种?如果是这样,为什么?