質問: new mysqli('localhost','root','設定したパスワード','board'); ``` しかし、mysqlにrootユーザでログインする際に同様のパスワードを入力して、ログイン出来ているので、 ここは間違っていないと認識している。 二つ目は、権限の設定に問題があるためとのことである。 そこで、 ``` show grants for 'root'@'localhost' ``` 上記コマンドで権限を確認すると、 ``` GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION ``` と、表示される。 ALL PRIVILEGES、つまり、全ての権限が付与されている状態なので、 権限周りのエラーでもないと思われる。 ここまでは調べたのですが、エラーの原因がまだわかりません。 ご指南いただけますと幸いです。
回答: MySQL の localhost は**ソケット接続**を意味し、一方、PHP の localhost は 127.0.0.1 (または ::1) で **TCP 接続**しようとして、失敗しているのではないでしょうか? MySQL 側で **root@127.0.0.1** を登録し、また、PHP 側も IPv4 であることを明確にするため、127.0.0.1 に接続するといいと思います。