mysqli не подключается к базе

gopher-max

Новичок
Доброго всем времени суток. Прошу сильно не ругать за дурацкий вопрос. Только постигаю ООП. Нужно реализовать подключение к базе при создании экземпляра класса, для этого засовываю коннект в конструктор и получаю ошибку.
Вот код:
Код:
class youtube {
// Данные подключения
public $dbHost = 'localhost';
public $dbUser = 'user';
public $dbPass = 'password';
public $dbCharset = 'utf8';
public $dbName = 'modxTest';
public $table_prefix = 'modx_';
// Имя таблицы кеша
public $yCache = 'ycache';
public $dbConnect;
// Подключение к базе
public function __construct($dbHost, $dbUser, $dbPass, $dbName) {
$dbConnect = new mysqli($dbHost, $dbUser, $dbPass, $dbName);
if ($dbConnect->connect_errno) {
printf("Не удалось подключиться: %s\n", $dbConnect->connect_error);
exit();
}
// Устанавливаем кодировку общения с базой
$dbConnect->set_charset($dbCharset);
}
}
$y = new youtube();
var_dump($y);
Подскажите что не так с логикой?
 

WMix

герр M:)ller
Партнер клуба
$y = new youtube();
и
public function __construct($dbHost, $dbUser, $dbPass, $dbName)

не логичны
 

Andkorol

Новичок
А как же $dbName? Она же определена в свойствах класса и передаётся в конструктор.
«определена в свойствах класса» и «передаётся в конструктор» – это разные вещи.
В конструкторе используй свойства класса, раз уж определил их:
PHP:
public function __construct() {
$this->dbConnect = new mysqli($this->dbHost, $this->dbUser, $this->dbPass, $this->dbName);
 

AnrDaemon

Продвинутый новичок
Это ещё что… Я вот пару дней назад написал __contruct и долго удивлялся, почему у меня конструктор не отрабатывает.
В итоге нашёл ошибку в файлах подсветки синтаксиса…
 
Сверху