Как запретить подключение к бд более 1 раза? class DB
public static $mysqli
private $connect = true
function __construct()
if ($this->connect)
$mysqli = new mysqli($this->host, $this->user, $this->password, $this->db)
$mysqli->set_charset("utf8")
$this->mysqli = $mysqli
$this->connect = false


При каждом вызове наследников класса DB происходит новое подключение к бд, как это предотвратить
[Решение
Мой косяк, по невнимательности вызывал класс несколько раз, из-за чего и возникла данная ошибка.

21 Авг 2019 в 07:03
213 +1
1
Ответы
1

Чтобы предотвратить повторное подключение к базе данных при каждом вызове наследников класса DB, можно использовать статическую переменную, чтобы хранить уже существующее подключение. Вот как можно изменить код:

class DB
public static $mysqli
private static $connected = false
function __construct()
if (!self::$connected)
$this->mysqli = new mysqli($this->host, $this->user, $this->password, $this->db)
$this->mysqli->set_charset("utf8")
self::$mysqli = $this->mysqli
self::$connected = true
} else
$this->mysqli = self::$mysqli


}

Теперь при каждом вызове наследников класса DB будет создаваться новый объект mysqli только при первом вызове, а затем будет использоваться уже существующее подключение.

20 Апр в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 620 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир