У меня есть класс пользователя, с которым мне нужно использовать свою базу данных. Для этого я передаю дескриптор базы данных в качестве аргумента конструктора следующим образом:
index.php:
<?php
include('classes/user.class.php');
$db = new mysqli('localhost', 'root', '', 'testdb');
if ($mysqli->connect_error)
{
die('Database connection failed (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error);
}
$user = new User($db);
$db->close();
?>
user.class.php:
<?php
class User
{
private $db;
function __construct($db)
{
$this->db = $db;
echo $this->db->host_info();
}
}
?>
Но я получаю эту ошибку:
Неустранимая ошибка: вызов неопределенного метода
mysqli :: host_info () в
C: \ XAMPP \ HTDOCS \ Classes \ user.class.php
по линии 10
Я не уверен, что не так, возможно, я неправильно передаю его дескриптор в базу данных, но я не могу придумать другого способа сделать это. Даже если я установлю переменную $db
на public в своем пользовательском классе, я получу эту ошибку.
Кто-нибудь может помочь? Благодаря.