トップページ > 記事閲覧
php-PDOでSQLSTATE[42000] [1044] Access denied forのエラー
投稿日 : 2015/08/12(Wed) 13:53
投稿者 あきら
参照先
私はコアサーバを直接借りているのではなくて、システム構築の依頼を請けているものです。
php-PDOで、作成していただいたmysqlデータベースにPDOを使用してアクセスしようとすると、

SQLSTATE[42000] [1044] Access denied for user '********'@'localhost' to database '******** host=localhost port=3306'

というエラーが出てしまいます。
********の部分は、実際には、*********_******の形になっています。前半がもともとのユーザーIDで、後半がDB作成時に付加したものではないかと思います。
このIDといただいたパスワードで、MyAdminにはログインできます。データベースも参照できますし、テーブルの作成などもできました。

直接コントロールパネルを確認できないのでもどかしい面がありますが、このような現象がどういうケースで起こりうるか、あるいは、当方にてなにか確認すべきところはないかについて教えていただけますと幸いです。

よろしくお願いします。
Re: php-PDOでSQLSTATE[42000] [1044] Access denied forのエラー
投稿日 : 2015/08/12(Wed) 18:51
投稿者 あきら
参照先
自己レスです。

これはdsnの書き方が間違っていたせいだと分かりました…
普段PostgreSQLばかりだったので

$dbh = new PDO("mysql:dbname={$CONF["dbname"]} host={$CONF["dbhost"]} port=3306", $CONF["dbuser"], $CONF["dbpasswd"]);

と書いてしまったのですが、正しくは

$dbh = new PDO("mysql:dbname={$CONF["dbname"]};host={$CONF["dbhost"]};port=3306", $CONF["dbuser"], $CONF["dbpasswd"]);

でした。
Re: php-PDOでSQLSTATE[42000] [1044] Access denied forのエラー
投稿日 : 2015/08/17(Mon) 16:47
投稿者 スタッフ◆AkjNijbFVzA
参照先
あきら様

丁重なご連絡をいただきありがとうございます。
対応が遅れ、お力になれず、誠に申し訳ございませんでした。
自己解決され、正常に戻られたということで安堵しております。
今後とも弊社各種サービスをご利用いただきますよう、よろしくお願い申し上げます