запрос php mysqli ожидает, что параметр 1 будет строкой
Я кодировал пользовательскую базу данных, которая вызывает статический метод find_all, который вызывает метод запроса, который, в свою очередь, возвращает все значения базы данных, но я сталкиваюсь с трудностями при этом каждый раз, когда я пытаюсь вызвать его, это выдает мне эту ошибку как mysqli_query () ожидает, что параметр 1 будет mysqli, строка указана в C: \ xampp \ htdocs \ photogallery \ includes \ database.php в строке 20. Что мне делать? Вот фрагмент кода 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());
}
}
и index.php, где код вызывается следующим образом:
<?php
require_once("../includes/database.php");
require_once("../includes/user.php");
$q = User::find_all();
?>
Каждый раз, когда возникает ошибка, mysqli_query ожидает, что параметр 1 будет mysqli, строка, указанная в C: \ xampp \ htdocs \ photogallery \ includes \ database.php в строке 20. Помогите мне, пожалуйста ??