У меня есть пользовательский класс, с которым мне нужно использовать мою базу данных. Для этого я передаю дескриптор базы данных в качестве аргумента конструктора, например:
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
как общедоступную в моем пользовательском классе, я получаю эту ошибку.
Кто-нибудь может помочь? Спасибо.