Как преобразовать объект в MySQLi в этом коде ниже? - PullRequest
0 голосов
/ 25 мая 2019

Привет! Я пытаюсь заменить все старые запросы mysql в этой CMS на mysqli для PHP 7. Но я получаю сообщение об ошибке ниже на каждой странице.

Предупреждение 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);
  ?>

1 Ответ

1 голос
/ 29 мая 2019

Ваш класс БД не является экземпляром MySQLi.Он не наследует, вместо этого у него есть открытое свойство $ db.Вы должны использовать это свойство в mysqli_query.Однако ключевое слово var следует заменить на public.

$query = mysqli_query($instance->db, "SELECT * FROM adam_docs WHERE doc_id = '24' ORDER BY doc_name ASC");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...