在尝试使用php中的类/函数学习了很多帮助之后,我在学习过程中遇到了另一个问题:-)
我可以注册用户,但每次我尝试使用这些新创建的凭据登录时,“无效凭据”
在回显一些结果后,我发现它总是发回0条记录,我知道我的数据库连接正在工作,因为我使用相同的连接进行注册!
如有任何帮助,我们将一如既往地感激!
她的是我的连接和登录函数的代码示例...
<?php
class UsersLib
{
private $con;
public function __construct() {
$this->con = new PDO("sqlsrv:Server=$SQLServer;Database=$SQLDB", $SQLUser, $SQLPass);
}
public function Login($username, $password)
{
try {
$query = $this->con->prepare("SELECT user_id FROM users WHERE (username=:username OR email=:username) AND password=:password");
$query->bindParam("username", $username, PDO::PARAM_STR);
$enc_password = hash('sha256', $password);
$query->bindParam("password", $enc_password, PDO::PARAM_STR);
$query->execute();
$Str = "Rows " .$query->rowCount(). " User Name $username.";
echo '<div style="color:#FF0000;text-align:center;font-size:50px;">' .$Str. '</div>'; //Result of the row count and Post username
if ($query->rowCount() > 0) {
$result = $query->fetch(PDO::FETCH_OBJ);
return $result->user_id;
} else {
return false;
}
} catch (PDOException $e) {
exit($e->getMessage());
}
}
}
?>
发布于 2018-08-19 09:08:25
连接字符串中的错误位置有双引号。
您的SQL Server PDO连接字符串应如下所示:
new PDO("sqlsrv:Server=localhost;Database=DB", "User", "Password");
https://stackoverflow.com/questions/51913597
复制相似问题