如何在下面的代码中将对象转换为 MySQLi?

我正在尝试将此 CMS 中的所有旧 mysql 查询替换为 PHP 7 的 mysqli。但我在每个页面上都收到以下错误消息。


PHP 警告:mysqli_query() 期望参数 1 是 mysqli,对象以 ..


在这个 CMS 中,每个页面都包含一个 db 类文件,但我无法将对象转换为 mysqli 以用于 mysqli_query


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);

  ?>


翻过高山走不出你
浏览 120回答 1
1回答

红颜莎娜

您的 db 类不是 MySQLi 的实例。它不继承,而是有一个名为 $db 的公共属性。您应该在 mysqli_query 中使用此属性。但是,关键字var应替换为public.$query&nbsp;=&nbsp;mysqli_query($instance->db,&nbsp;"SELECT&nbsp;*&nbsp;FROM&nbsp;adam_docs&nbsp;WHERE&nbsp;doc_id&nbsp;=&nbsp;'24'&nbsp;ORDER&nbsp;BY&nbsp;doc_name&nbsp;ASC");
打开App,查看更多内容
随时随地看视频慕课网APP