Не пойму в чем проблема Код (Text): <?php require_once "../config/config.php"; class Db extends Config{ private $connect; function __construct(){ $this->connect = new mysqli($this->DB_HOST,$this->DB_USER,$this->DB_PASS,$this->DB_NAME); if ($this->connect->errno){ echo "Подключиться к базе не удалось, обратитесь к администратору. Ошибка: " . $this->connect->error; } } function sql($query){ $string = $this->connect->real_escape_string($query); $sql = $this->connect->query($string); return $sql; } } Выдает ошибку: Помогите пожалуйста, в чем может быть проблема? За ранее спасибо)
После Код (Text): $this->connect = new mysqli($this->DB_HOST,$this->DB_USER,$this->DB_PASS,$this->DB_NAME); поставьте die(var_export($this->connect,1)), и посмотрите, что выдаст. Это раз. Два. Зачем вы экранируете весь запрос? В половине синтаксис нарушите. Экранируются только параметры
убрал временно экранирование и добавил проверку, код: Код (Text): <?php require_once "../config/config.php"; class Db extends Config{ private $connect; function __construct(){ $this->connect = new mysqli($this->DB_HOST,$this->DB_USER,$this->DB_PASS,$this->DB_NAME) or die(var_export($this->connect,1)); if ($this->connect->errno){ echo "Подключиться к базе не удалось, обратитесь к администратору. Ошибка: " . $this->connect->error; } } function sql($query){ $sql = $this->connect->query($query); return $sql; } } ?> Результат не изменился: Больше ничего не выводится... Добавлено спустя 1 минуту 24 секунды: я так понимаю что он не может вызвать функцию из обьекта которого не существует? Может я вызываю как то не правильно функцию в методе?
Да, ошибка означает, что по какой-то причине ваше поле $connect не было инициализировано в конструкторе. ПОчему - вам надо разбераться самостоятельно. Я вам, кстати, никакой OR не предлагал. Просто вставьте die. Тогда после попытки создать mysqli вы увидите, реально создался объект, или нет. Это такой отладочный приём, вместо точек останова. Ну или, если у вас есть xdebug и поддерживающая его IDE, попробуйте его средствами - поставьте точку останова, добавьте в окно слежения connect
Спасибо за совет!) Добавлено спустя 1 минуту 52 секунды: Только без "or" выкидывает синтаксическую ошибку...