ここから本文です

PDOでMySQLにアクセスできません。 下記手続き型の記述では正常にアクセスでき...

are********さん

2018/11/2001:28:12

PDOでMySQLにアクセスできません。

下記手続き型の記述では正常にアクセスできるのですが。

$link = mysqli_connect('mysql1.php.xdomain.ne.jp', 'username', 'pass');

if (!$link) {
die('接続失敗です。'.mysql_error());
}

print('<p>接続に成功しました。</p>');

$db_selected = mysqli_select_db($link,'dbname');
if (!$db_selected){
die('データベース選択失敗です。'.mysqli_error());
}

// MySQLに対する処理
mysqli_set_charset($link,'utf8');


下記PDOではエラーが発生します。
$dsn = 'mysql:host=mysql1.php.xdomain.ne.jp;dbname=dbname;charset=utf8';

$user = 'username' ;

$password = 'pass';

try{
$dbh = new PDO($dsn, $user, $password);

print('<br>');

if ($dbh == null){
print('接続に失敗しました。<br>');
}else{
print('接続に成功しました。<br>');
}

}catch (PDOException $e){
print('Error:'.$e->getMessage());
die();
}

$dbh = null;

エラー表示
Error:SQLSTATE[28000] [1045] Access denied for user 'username'@'sv3.php.xdomain.ne.jp' (using password: YES)

Webの管理パネルでも、上記ユーザー名、パスワードでログインできます。
PHPバージョン PHP7.0.x
MySQLバージョン 5.0.95
原因お分かりの方、よろしくお願いいたします。

閲覧数:
12
回答数:
2
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nor********さん

2018/11/2010:12:06

データベース名が「dbname」なのですか?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

shi********さん

2018/11/2011:27:44

phpMyAdminからでもいいので、select * from mysql.user を実行して当該ユーザのHostが % になっているか確認してください。

おそらくは % になっていないのでエラーになっていると推測されますが、どういうHostになっているか確認してください。


あと、phpのバージョンはいくつでしょうか?

5.4以降なら、m,ysqliでもpdo_mysqlでもmysqlndが標準になっていると思いますが、念のためphpinfo()でmysqliとpdo_mysqlのドライバ周りの情報を確認してください。

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる