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;
}
}
?>