首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP PDO我无法使用新添加的凭据登录

PHP PDO我无法使用新添加的凭据登录
EN

Stack Overflow用户
提问于 2018-08-19 08:48:00
回答 1查看 123关注 0票数 -1

在尝试使用php中的类/函数学习了很多帮助之后,我在学习过程中遇到了另一个问题:-)

我可以注册用户,但每次我尝试使用这些新创建的凭据登录时,“无效凭据”

在回显一些结果后,我发现它总是发回0条记录,我知道我的数据库连接正在工作,因为我使用相同的连接进行注册!

如有任何帮助,我们将一如既往地感激!

她的是我的连接和登录函数的代码示例...

代码语言:javascript
复制
    <?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());
            }
    }
}
?>
EN

回答 1

Stack Overflow用户

发布于 2018-08-19 09:08:25

连接字符串中的错误位置有双引号。

您的SQL Server PDO连接字符串应如下所示:

new PDO("sqlsrv:Server=localhost;Database=DB", "User", "Password");

http://php.net/manual/en/ref.pdo-sqlsrv.connection.php

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51913597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档