Ошибка с классом подключения к БД

191
03 октября 2018, 13:50

Stackoverflow! В данный момент изучаю ООП в PHP и пытаюсь создать класс, который будет автоматически подключаться к БД mysql Получилось вот так

<?php 
class DataBase
{
    private $host = 'localhost';
    private $user = 'root';
    private $password = '';
    public function __construct()
    {
        return $this->showDataBaseConnect();
    }
    private function showDataBaseConnect()
    {
        $connect = $this->dataBaseConnect();
        if ($connect){
            return print 'Подключение выполнено!';
        }
        else{
            return print 'Ошибка подключения';
        }
    }
    private function dataBaseConnect()
    {
        return mysqli_connect($this->host, $this->user, $this->password);
    }
}
$connect = new DataBase();
?>

Пишет, что подключение удачно, даже если изменить $user на неверный. Подскажите как почему так происходит и как правильно отловить ошибку при подключении к БД Спасибо!

Answer 1

Ну вот мой вариант метода

private function dataBaseConnect()
{
    $conn = mysqli_connect($this->host, $this->user, $this->password);
    if(!$conn)
       {
       $this->error = "Ошибка подключения: " . mysqli_connect_error();
       }
    return $conn;
}

Возвращать этот метод должен всё-таки указатель на подключение. Ну и добавьте свойство error - он получит текст ошибки, выведете его куда Вам надо.

READ ALSO
Удаленная база данных в приложении

Удаленная база данных в приложении

у меня приложение на юнити,которое требует подгрузки данных из бд с удаленного сервера

192
Как выключить автокоррекцию в CKEditor?

Как выключить автокоррекцию в CKEditor?

Использую 2amigos/yii2-ckeditor-widgetНикак не выходит выключить автокоррекцию html (когда в режиме исходника вручную правишь html)

135
json многомерного массива

json многомерного массива

У меня есть массив

197
Помогите с index.php

Помогите с index.php

у меня есть html-фаил, нужно что бы он открывался как PHP скрипт(indexphp)

148