データベースを使うPHPスクリプトを実行して「Access denied for user 'abcd'@'localhost'」と表示されることがあります。

Access denied for user 'abcd'@'localhost'

Access denied for user 'abcd'@'localhost'

主な原因は、次のいずれかです。

  1. ユーザー「abcd」に対するパスワードが間違っている
  2. ユーザー「abcd」が存在しない

(1)の場合は単純な入力ミスです。修正しましょう。

(2)のケースは、書籍のサンプルスクリプトやインターネットで入手したデータベースアプリケーションをそのまま動かすと発生する場合があります。

自分が使っているデータベース(XAMPPでインストールしたMySQLなど)には、「abcd」という名前のユーザーが登録されていないからです。解決するには、次のいずれかの方法をとります。

  1. 既に登録済みのユーザー名とパスワードを設定する
  2. データベースにabcdというユーザーを追加登録する

(1)の場合は、PHPスクリプトのユーザー名とパスワードを指定している部分を任意の内容に修正します。たとえば、XAMPP(MySQL)のインストール直後には、「root」という名前のユーザーが追加されています。

(2)の場合、ユーザーの追加は、XAMPPインストール直後から使用可能になっているphpMyAdminの「特権」メニューから行うことができます。追加するのは必ずしもサンプルスクリプト通りのユーザー名である必要はありません。任意の名前、パスワードで追加したユーザー情報を、PHPスクリプトの方で指定します。

※さくらインターネットなど、レンタルサーバーでもphpMyAdminを使うことができますが、ユーザーを追加するというより、レンタルサーバー側で指定されたユーザー名を使うのが一般的です。

スポンサーリンク

こちらもどうぞ

こちらも参考にしてください

関連記事

MySQL

phpMyAdmin

PHPサンプルコード

PHP全般

PHP関数

WordPress

PHPの基礎が身に付いたかチェック!

PHP「直す力」養成ドリル
スポンサーリンク