2016-01-31 2 views
0

Добрый день, 2 недели назад Я использовал Mysqli, и все было в порядке, но теперь я использую PDO и у меня много проблем. Это один из них. Я использовал следующие настройки для подключения к MySQL в классе MYSQLi:Как подключиться к PDO в PHP

self::$data['host'] = 'localhost'; 
self::$data['user'] = 'mysql'; 
self::$data['pass'] = 'mysql'; 
self::$data['db'] = '123'; 

И это сработало. Но когда я использовал его в этом: ошибка вызова

private static function connect() 
    { 
     if(!self::$connection) 
     { 
      try 
      { 
       self::$connection = new \PDO('mysql:host='.self::$data['host'].';dbname='.self::$data['name'], self::$data['user'], self::$data['pass']); 
       self::$connection -> setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); 
       self::$connection -> exec('SET NAMES utf8'); 
      } 
      catch (PDOException $e) 
      { 
       die('Ошибка подключения к БД: '.$e->getMessage()); 
      } 
     } 
    } 

PHP:

SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO)

Я сожалею, я новичок в PDO.

+1

Ошибка сообщает вам, что у вас неправильный логин и пароль. Вы их проверили? –

+0

Вы ввели неверные учетные данные БД. –

+2

Ваше имя db находится в 'self :: $ data ['db']', в строке dsn вы используете 'self :: $ data ['name']'. Ты уверен? –

ответ

0
self::$data['host'] = 'localhost'; 
self::$data['user'] = 'mysql'; 
self::$data['pass'] = 'mysql'; 
self::$data['db'] = '123'; 

private static function connect() 
{ 
    if(!self::$connection) 
    { 
     try 
     { 
      self::$connection = new PDO('mysql:host='.self::$data['host'].';dbname='.self::$data['db'], self::$data['user'], self::$data['pass']); 
      // just correct your database name variable like as above 
      self::$connection -> setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); 
      self::$connection -> exec('SET NAMES utf8'); 
     } 
     catch (PDOException $e) 
     { 
      die('Ошибка подключения к БД: '.$e->getMessage()); 
     } 
    } 
} 
+0

Спасибо. Ваш комментарий очень полезен – LittleByte

Смежные вопросы