以下のコードで接続しようとするとSQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)のようなエラーになります。
コマンドプロンプトでは、
show grants;
| Grants for root@localhost
のように表示されているため、権限は大丈夫だと思います。
config.inc.phpの設定も以下のように設定しています。
php
1/* Authentication type */ 2$cfg['Servers'][$i]['auth_type'] = 'config'; 3$cfg['Servers'][$i]['user'] = 'root'; 4$cfg['Servers'][$i]['password'] = '****';(パスワードは変更済みです) 5/* Server parameters */ 6//$cfg['Servers'][$i]['host'] = 'localhost'; 7$cfg['Servers'][$i]['compress'] = false; 8$cfg['Servers'][$i]['AllowNoPassword'] = true;
php
1<body> 2 <?php 3 $dsn = 'mysql:host=127.0.0.1;dbname=test;charset=utf8'; 4 $user = 'root'; 5 $pass = '****';(実際のパスワードが入っています) 6 try { 7 $db = new PDO($dsn, $user, $pass); 8 } catch (PDOException $e) { 9 echo 'DB接続エラー:'.$e->getMessage(); 10 } 11 ?> 12</body>
なぜ接続できないのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。