La consulta php mysqli espera que el parámetro 1 sea una cadena
Estaba codificando una base de datos de usuario que llama a un método estático de find_all que llama a un método de consulta que a su vez devuelve todo el valor de una base de datos, pero encuentro problemas para hacerlo cada vez que intento llamarlo, me da este error como mysqli_query () espera que el parámetro 1 sea mysqli, cadena dada en C: \ xampp \ htdocs \ photogallery \ incluye \ database.php en la línea 20. ¿Qué debo hacer? Aquí está el fragmento de código User.php
require_once("database.php");
class User{
public static function find_all(){
global $database;
$sql= "select * from users";
$result_set = $database->query($sql);
return $result_set;
}
public static function find_by_id($id=0){
global $database;
$result_set = $database->query("SELECT FROM users where id={$id}");
$found = $database->fetch_array($result_set);
return $found;
}
}
Database.php
public function query($sql){
echo $sql;
$this->last_query = $sql;
echo $result = mysqli_query($sql,$this->connection);
$this->confirm_query($result);
return $result;
}
public function confirm_query($result){
if(!$result){
die("Database query failed:".mysqli_error());
}
}
y el index.php donde el código se llama de la siguiente manera:
<?php
require_once("../includes/database.php");
require_once("../includes/user.php");
$q = User::find_all();
?>
Cada vez que se produce el error cuando mysqli_query espera que el parámetro 1 sea mysqli, la cadena dada en C: \ xampp \ htdocs \ photogallery \ incluye \ database.php en la línea 20. ¿Me ayudan por favor?