如何在以下代码中将对象转换为mysqli



嗨,我正在尝试将此CMS中的所有旧MySQL查询替换为PHP 7的mysqli。但是,我在每个页面上都会遇到以下错误。

php警告:mysqli_query((期望参数1为mysqli,对象给出..

在此CMS中,每个页面都包含DB类文件,但我无法将对象转换为mysqli_query

的mysqli

db.php的代码

class db {
    var $query;
    var $db;
    var $queryArray = array();
    var $showError = true;
    function __construct() {
        global $glob;
        $this->db = mysqli_connect($glob['dbhost'], $glob['dbusername'], $glob['dbpassword']) or die(mysqli_error());
        if (!$this->db) die($this->debug(true));
        $selectdb = mysqli_select_db($this->db,$glob['dbdatabase']);
        if (!$selectdb) die ($this->debug());       
    }

我要打开的页面代码

<?php
        $instance = new db();
    $query = mysqli_query($instance,"SELECT * FROM adam_docs WHERE doc_id = '24' ORDER BY doc_name ASC");
    //echo $query; exit;
    $num_row = mysqli_num_rows($query);
    if($num_row > 0){
    $results = mysqli_fetch_array($query);
  ?>

您的数据库类不是mysqli的实例。它没有继承,而是拥有一个称为$ db的公共财产。您应该在mysqli_query中使用此属性。但是,关键字var应替换为public

$query = mysqli_query($instance->db, "SELECT * FROM adam_docs WHERE doc_id = '24' ORDER BY doc_name ASC");

最新更新