Php PDO登录脚本致命错误

Php PDO登录脚本致命错误,php,html,sql,pdo,Php,Html,Sql,Pdo,所以我使用PDO创建了我的登录系统,我是新来的,遇到了一个小问题,当我尝试使用用户详细信息登录时,遇到了一个致命的错误。如果我输入随机位,它似乎可以工作,并且会正确地失败,但是如果我输入正确的细节,我会得到致命的错误 这是我的剧本: class User{ private $db; public function __construct(){ $this->db = new Connection(); $this->db = $th

所以我使用PDO创建了我的登录系统,我是新来的,遇到了一个小问题,当我尝试使用用户详细信息登录时,遇到了一个致命的错误。如果我输入随机位,它似乎可以工作,并且会正确地失败,但是如果我输入正确的细节,我会得到致命的错误

这是我的剧本:

class User{

    private $db;

    public function __construct(){
        $this->db = new Connection();
        $this->db = $this->db->dbConnect();
    }

    public function Login($emailAddress, $pass){
        if(!empty($emailAddress) && !empty($pass)) {
            $st = $this->db->prepare("SELECT * FROM users WHERE emailAddress=? and pass=?");
            $st->bindParam(1, $emailAddress);
            $st->bindParam(2, $pass);
            $st->execute();


            if($st->rowCount() == 1){
                echo"User verified, Access granted.";
            } else{
                echo "Incorrect email address or password";
            }


        }else{
            echo "Please enter email and password!";
        }
    }

}
我在emailAddress和pass上面还有一些列,但我不确定这是否是冲突所在

致命错误:在第18行的/Applications/MAMP/htdocs/dashboardR/user.php中对非对象调用成员函数prepare()



您还可以发布正在运行的代码吗?
$this->db->dbConnect()
没有返回可行的数据库连接。这是什么意思?这是表单的操作脚本,如果您未能在字段中放入任何内容,则执行的唯一一位是else语句。@castis-这就是问题所在吗?由于我是新手,您能详细说明一下吗?我假设使用
dbConnect()
连接到数据库,然后返回一个可用于运行查询的对象。您试图调用
$this->db->prepare()
,但错误表明
$this->db
不是对象。这很可能意味着
$This->db->dbConnect()
出现故障,可能返回
null
false
,或与之相近的内容。确保所有db凭据都正确,并且可以成功连接到它。
<?php

class Connection{

    public function dbConnect() {
        return new PDO("mysql:host=localhost;dbname=dashboardr","****","****");
    }

}

?>