我的代码有效,但只适用于第一行。当我在MySQL中插入另一行并尝试使用不同的用户名和密码登录时,它会返回我的错误。怎么了?PHP PDO :: FETCH_ASSOC问题
<?php
include_once('db.php');
$username = $_POST['username'];
$password = sha1($_POST['password']);
if(!empty($username) && !empty($password)) {
$loginSQL = "SELECT * FROM `users` WHERE `username` = '$username' AND `password` = '$password'";
if($db->query($loginSQL)->fetchColumn() == 1) {
$fetchUsers = $db->query($loginSQL)->fetch(PDO::FETCH_ASSOC);
$userID = $fetchUsers['uid'];
$_SESSION['uid'] = $userID;
echo '<br /><br />You have successfully logged in. <a href="inner.php">Click here</a> to proceed.';
}
else {
echo '<br /><br />You have entered invalid log-in information.';
}
}
else {
echo '<br /><br />You have entered invalid log-in information.';
}
?>
对于这种检查凭证的特殊情况,认为相当好的做法不是提供过于确切的信息。所以,一个广义的错误信息是没问题的 –