PHPとMySQLについて。
初心者です。
さくらインターネットのスタンダードプランを使っています。
phpmyadminで「test」というCSVをインポートしました。
http://php.net/manual/ja/pdo.connections.php#example-976
こちらのページをそのままコピペして「test.php」をつくりました。
<?php
try {
$dbh = new PDO('mysql:host=○○○.db.sakura.ne.jp;dbname=データベース名', 'ユーザ名', 'パスワード');
foreach($dbh->query('SELECT * from test') as $row) {
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "エラー!: " . $e->getMessage() . "<br/>";
die();
}
?>
しかし下記のエラーが出てしまいます。
エラー!: SQLSTATE[HY000] [1045] Access denied for user 'ユーザ名'@'IPアドレス' (using password: YES)
IPアドレスは調べたら、さくらインターネットのものでした。
現在サイトを作っている最中なので.htaccessでアクセス制限していたのが原因かと思い、このIPアドレスも許可したのですが同じエラーが出ます。
どうしたら正常に表示できるのでしょうか?
xamppでは、
ڑ ς݂ Ăяo 悪 Ԃ ߂ Ă Ȃ ߁A ڑ ł ܂ ł B ܂ ڑ ς݂ z X g Ȃ ߁A m ꂽ ڑ s ܂ B
のように完全に文字化けして、◆の中に?がある謎の記号が並んでいたり、何が何やら・・・。
完全にお手上げでどなたか助けていただけないでしょうか。
投稿日時 - 2015-09-28 06:09:59
このQ&Aは役に立ちましたか?
1人が「このQ&Aが役に立った」と投票しています
回答(2)
> エラー!: SQLSTATE[HY000] [1045] Access denied for user 'ユーザ名'@'IPアドレス' (using password: YES)
これは、MySQLアクセスエラーですので、表側の.htaccessなど関係ないですね。
単純にMySQL認証失敗です。まずphpmyadminが動いてるサーバでmysqlコマンドを使ってログインできるか確認してください。
DBにログインして以下のSQLをなげて現状を確認するのもいいかもです。
> select user,host,password from mysql.user;
+-------+---------------------------------+-------------------------------------------+
| user | host | password |
+-------+---------------------------------+-------------------------------------------+
----------
ex)
| tester01 | phpmyadmin Address | aksdjfkajdfkjskdjfksjd |
----------
の通り、phpmyadminが動いてるサーバのIPがhostに登録されてるか?
投稿日時 - 2015-09-29 15:32:10