我得到这个警告-警告:mysqli_query()期望参数1是mysqli, null给出.我该怎么做?



我正在尝试通过php对mysql数据库表进行选择查询,我正在获得

警告:"mysqli_query()期望参数1为mysqli, null,在....Testingtestingdb.php第29行给出。"

$con类变量不在函数get_Article_MetaData()的作用范围内吗?如果是,那么为什么在执行mysqli_query()时设置为'null' ?

<?php
class db_connect {
    private $host;<br>
    private $username;
    private $password;
    private $dbname;
    private $con;
    
    function _construct($hostname, $uname, $pword, $database)
    {
        $this->host = $hostname;
        $this->username = $uname;
        $this->password = $pword;
        $this->dbname = $database;
        
        $this->con = mysqli_connect($host,$username,$password,$dbname);    
        
        if (mysqli_connect_errno())
        {
            echo "Failed to connect to MySQL: "; echo mysqli_connect_error();
        }
        else{
            echo "Connection successfully established.";
        }
    }
    
    function get_Article_MetaData(){
       $result = mysqli_query($this->con,"SELECT title, abstract, publish_date, author_name FROM articles, author where author_id=author_id");
        if($result == false){
            echo "Empty DB";
        }
        else{
            $rows = array();
            while($row = mysqli_fetch_assoc($result)){
               $rows[]=$row;
            }
            foreach ($rows as $key => $value) {
                echo "Key: $key; Value: $valuen";
            }
        }
    }
    
}
    $connection = new db_connect("localhost","root","","article_collection");
    $connection->get_Article_MetaData();
?>

您使用了单个_(下划线),构造函数应该是两个,

function __construct($hostname, $uname, $pword, $database)

最新更新