Я играю с классами в 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 );
включен
Я пробовал это по-разному, но никто из них не работает...
Может ли кто-то подтолкнуть меня в правильном направлении к тому, как использовать этот простой класс?
Я думаю, вы должны использовать его как:
$db_con = new db_connection();
$db = $db_con->getDbc();
Функция getDbc() возвращает требуемый объект. Для этого вам нужно отправить его в переменную $ db, чтобы получить ее. Выполнение метода не присваивает его значение "self" ($ db_con), но возвращает значение.
Вы должны использовать такой код:
$dbClass = new db_connection();
$db = $dbClass->getDbc();
$db->query("SELECT * FROM databases");
$dbclass= new db_connection();
создает соединение и возвращает db_connection
класса db_connection
в $dbClass
. Теперь, когда вы подключились к базе данных, используйте $db = $dbClass->getDbc();
для получения самого объекта подключения и любых связанных с ним действий с базой данных.