Класс для подключения к БД, как использовать

0

Я играю с классами в php и просто не могу найти правильный способ сделать это.

У меня есть следующий класс:

class db_connection {
    private $dbc;


    public function __construct()
    {
        $this->dbc = new mysqli(HOST_ONE, USER_ONE, PASS_ONE, DB_ONE) or die ($this->dbc->error);

    }

    public function getDbc()
    {
        return $this->dbc;
    }

}

и попробуйте запустить его следующим образом:

$db = new db_connection();
$db->getDbc();

// TESTQUERY
$abfrage = "SELECT * FROM databases";
$result = $db->query($abfrage);
while ($row = $result->fetch_assoc()) {
    echo $row['id'];
}

HOST_ONE и т.д., Я не получаю сообщений об ошибках, хотя у меня есть error_reporting( E_ALL ); включен

Я пробовал это по-разному, но никто из них не работает...

Может ли кто-то подтолкнуть меня в правильном направлении к тому, как использовать этот простой класс?

Теги:
class

2 ответа

2
Лучший ответ

Я думаю, вы должны использовать его как:

$db_con = new db_connection();
$db = $db_con->getDbc();

Функция getDbc() возвращает требуемый объект. Для этого вам нужно отправить его в переменную $ db, чтобы получить ее. Выполнение метода не присваивает его значение "self" ($ db_con), но возвращает значение.

  • 0
    Объясните почему так должно быть
  • 0
    @u_mulder Отредактировано. Надеюсь, это понятно. ;)
1

Вы должны использовать такой код:

$dbClass = new db_connection();
$db = $dbClass->getDbc();
$db->query("SELECT * FROM databases");

$dbclass= new db_connection(); создает соединение и возвращает db_connection класса db_connection в $dbClass. Теперь, когда вы подключились к базе данных, используйте $db = $dbClass->getDbc(); для получения самого объекта подключения и любых связанных с ним действий с базой данных.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню