Задать вопрос
youtube_com_chevichelov
@youtube_com_chevichelov

Как запретить подключение к бд более 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 происходит новое подключение к бд, как это предотвратить?

[Решение]
Мой косяк, по невнимательности вызывал класс несколько раз, из-за чего и возникла данная ошибка.
  • Вопрос задан
  • 227 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя Сергей Зеленский К ответам на вопрос (3)
@SergeyZelensky-Rostov
<?php
class DB {
	
	public static $mysqli;
	
	private $connect = true;
	
	private $_instance = null;
	
	
	private 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;
			
		}
		
	}
    private function __clone(){}
	
	public static function init(){
		
		if($_instance === null){
			
			self::$_instance = new self();
			
		}
		
		return self::$instance;
		
	}
	
}

называется такая штука singletone
Ответ написан
Комментировать