Php 在Null上调用成员函数query()

Php 在Null上调用成员函数query(),php,mysql,Php,Mysql,所以,只要试着制作一个简单的注册/登录表单,我以前已经做过了,但我不知道为什么会发生这种情况。我的代码如下所示 我把它所说发生的那条线上面的错误注释掉了 <?php class connection{ private $hostname = "localhost"; private $username = "root"; private $password = ""; private $database = "test"; private $c

所以,只要试着制作一个简单的注册/登录表单,我以前已经做过了,但我不知道为什么会发生这种情况。我的代码如下所示

我把它所说发生的那条线上面的错误注释掉了

<?php 

class connection{

    private $hostname = "localhost";
    private $username = "root";
    private $password = "";
    private $database = "test";
    private $conn;

    public function __construct(){
        $conn = new mysqli($this->hostname, $this->username, $this->password, $this->database)or die("MySQL Connection Error");
    }
    public function getConn(){
        return $this->conn;
    }
}
class queries{

    private $conn;

    public function __construct($conn){
        $this->conn = $conn;
    } 

    public function checkUser($username, $email){
        $query = "SELECT * FROM users WHERE username = '$username' OR email = '$email'";

//Call to  a member function query() on null in C:\xampp\htdocs\i\functions.php on line 28

        $result = $this->conn->query("$query");
        return $result;
    }

    public function insertUser($activated, $activation_code, $firstname, $lastname, $username, $password, $email){
        $query = "INSERT INTO users (activated, activation_code, firstname, lastname, username, password, email)
                  VALUES ('$activated', '$activation_code', '$firstname', '$lastname', '$username', '$password', '$email')";
        $result = $this->conn->query("$query");
    }
}

您的代码似乎是正确的,除了在
连接
类的构造函数中,您忘记使用
$this
,请将其更改为以下内容:

public function __construct() {
    $this->conn = new mysqli($this->hostname, $this->username, $this->password, $this->database)or die("MySQL Connection Error");
}

抓到那家伙了!xD哈哈,谢谢你
public function __construct() {
    $this->conn = new mysqli($this->hostname, $this->username, $this->password, $this->database)or die("MySQL Connection Error");
}