Php 致命错误:未捕获错误:在null上调用成员函数dbConnect()

Php 致命错误:未捕获错误:在null上调用成员函数dbConnect(),php,pdo,Php,Pdo,请帮帮我。。我的代码出了什么问题。我尝试创建登录表单并验证输入 致命错误:未捕获错误:调用上的成员函数dbConnect() 空的 (在$this->$db=$this->db->dbConnect();)上) 这是connection.php <?php class connection{ public $db_host = 'localhost'; public $db_name = 'login'; public $db_user = 'root';

请帮帮我。。我的代码出了什么问题。我尝试创建登录表单并验证输入

致命错误:未捕获错误:调用上的成员函数dbConnect() 空的

(在
$this->$db=$this->db->dbConnect();
)上)

这是connection.php

<?php

class connection{

    public $db_host = 'localhost';
    public $db_name = 'login';
    public $db_user = 'root';
    public $db_pass = 'root';

    public function dbConnect()
    {
        try{
            $conn = new PDO("mysql:host=".$this->db_host.";dbname=".$this->db_name,$this->db_user,$this->db_pass);
           $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }
        catch(PDOException $e)
        {
            echo 'ERROR: ' . $e->getMessage();
        }    
        return $this->conn;
    }
}

?>

这是login.php

<?php

include_once('connection.php');

class User{

    private $db;
    public function __construct(){

        $this->$db = new connection();
        $this->$db = $this->db->dbConnect();

    }

    public function isAuthenticated($name, $pass){

        if(!empty($name) && !empty($pass)){

            $st = $this->$db->prepare("SELECT * FROM loginUser WHERE username =? AND password =?");
            $st->bindParam(1, $name);
            $st->bindParam(2, $pass);
            $st->execute();

            if($st->rowCount() == 1){
                echo "User Verified";
            }else{
                echo "Incorrect UserName or Password";
            }

        }else{

            echo "Please Enter User Name And Password";
        }

    }



}

?>

替换此:

    $this->$db = new connection();
    $this->$db = $this->db->dbConnect();
为此:

    $this->db = (new connection())->dbConnect();
$this->db->prepare
这是:

$this->$db->prepare
为此:

    $this->db = (new connection())->dbConnect();
$this->db->prepare
实际上,在每个地方,您都应该更换:

$this->$db


您对
$this->$db
的引用中有一个额外的$编辑了答案,请参阅。只是你的代码格式不好。它的工作。。。非常感谢你