Привет. Имеем MySQL установлена локально PHP Version 5.6.17 Имеем БД chat Имеем логин и пароль root : pasword Пытаюсь сделать Синглтон для работы с БД через PDO на строчке self::$DBH = new PDO("mysql:host=127.0.0.1;dbname=chat", "root", "password"); вылетает ошибка. Подскажите в чем может быть причина? PHP: <?phpnamespace core\repository;class Repository { protected static $DBH; public static function getInstance(){ if(self::$DBH === null) { self::$DBH = new self; } return self::$DBH; } private function __construct() { try{ //Тут ошибка self::$DBH = new PDO("mysql:host=127.0.0.1;dbname=chat", "root", "password"); } catch (\PDOException $e) { file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND); } } //Закрываем иные типы создания экземпляра класса final private function __clone() {} final private function __sleep() {} final private function __wakeup() {}}
кавычку пропустил наверн)) http://stackoverflow.com/questions/14869086/using-pdo-to-connect-mysql-database-not-working
все дело оказалось в namespace core\repository; (пространстве имен) Перед PDO слеует поставить обратную косую черту, тем самым мы обратимся к PDO в контексте глобального пространства имен self::$DBH = new \PDO("mysql:host=127.0.0.1;dbname=chat", "root", "password");