PHP Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /home/rute/dbcontroller.php on line 27
This error I don't know how can I fixed...I try with different methods here but without success... can you help me with this?
Here the code:
In index.php:
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . '/scripts/dbcontroller.php');
$db_handle = new DBController();
$sql = "SELECT * FROM PRODUCTS WHERE active != '0'";
$posts = $db_handle->runSelectQuery($sql);
?>
Here the dbcontroller.php // in line 27 is the PHP WARNING
<?php
require($_SERVER['DOCUMENT_ROOT'] . '/scripts/config.php');
class DBController {
    private $conn = "";
    private $host = DB_HOST;
    private $user = DB_USER;
    private $password = DB_PASS;
    private $database = DB_NAME;
    function __construct() {
        $conn = $this->connectDB();
        if(!empty($conn)) {
            $this->conn = $conn;            
        }
    }
    function connectDB() {
        $conn = mysqli_connect($this->host,$this->user,$this->password,$this->database);
        return $conn;
    }
    function runSelectQuery($query) {
        $result = mysqli_query($this->conn,$query);
        while($row=mysqli_fetch_assoc($result)) {  // HERE IS THE ERROR
            $resultset[] = $row;
        }
        if(!empty($resultset))
            return $resultset;
    }
    function executeInsert($query) {
        $result = mysqli_query($this->conn,$query);
        $insert_id = mysqli_insert_id($this->conn);
        return $insert_id;
    }
    function executeUpdate($query) {
        $result = mysqli_query($this->conn,$query);
        return $result;
    }
    function executeQuery($sql) {
        $result = mysqli_query($this->conn,$sql);
        return $result;
    }
    function numRows($query) {
        $result  = mysqli_query($this->conn,$query);
        $rowcount = mysqli_num_rows($result);
        return $rowcount;
    }
}
?>
