Cytat
Warning: mysqli::mysqli() [mysqli.mysqli]: (42000/1226): User 'XXX' has exceeded the 'max_connections_per_hour' resource (current value: 2000) in /home/XXX/classes/db.php on line 19
Błąd połączenia z bazą danych: User 'XXX' has exceeded the 'max_connections_per_hour' resource (current value: 2000)
Błąd połączenia z bazą danych: User 'XXX' has exceeded the 'max_connections_per_hour' resource (current value: 2000)
Nie wydaje mi się, żebym wykonał 2000 połączeń do bazy mysql... ale pytanie jak rozwiązać ten problem, klasa w db.php wygląda tak:
<?PHP class Dbclass { private $host; private $user; private $password; private $database; public function __construct() { $this->host = 'localhost'; $this->user = 'xxx'; $this->password = 'xxx'; $this->database = 'xxx'; } public function connect() { $this->host; $mysqli = new mysqli($this->host, $this->user, $this->password, $this->database); $mysqli -> query("SET NAMES UTF8"); return $mysqli; } } ?>
i później w metodach innych klasach, gdzie potrzebuję zrobić coś w bazie to tworze sobie obiekt Dbclass... przykład:
class SEO { public $id; public $id_page; public $keywords; public $description; public $title; public function __construct($ID_PAGE = NULL) { else { $sql = "SELECT * FROM `seo` WHERE `id_page`=$ID_PAGE"; $baza = new Dbclass(); $mysqli = $baza -> connect(); $result = $mysqli -> query($sql); $x = $result -> num_rows; if($x==0) $this -> initialize(); else $this->initialize($result -> fetch_assoc()); $mysqli -> close(); } } }
Dałoby radę zrobić jakoś tak, że gdzieś na początku kodu strony nawiązuję połączenie i trzymam je do samego końca strony i mam dostęp do tego wewnątrz metod innych klas?? Wtedy miałbym na przeładowanie strony 1 połączenie z bazą a nie kilka...