プログラミング初心者です。
現在、オンラインにて独学をしてます。
現在、PHPでPDOを生成し、DBへのアクセスをトライしてるのですが、下記のエラーが出ます。
↓
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: YES)
下記が記述したコードです。
$dsn = 'mysql:dbname=php_sample01;host=localhost;charset=utf8'; $user = 'root'; $password = ''; $options = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, ); $dbh = new PDO($dsn, $user, $pass, $options);
下記、試した事。
1 $user/$password = 'この部分は両方ともrootを入れたり、もしくは削除して試しました';
2 mysqlで update mysql.user set password=password('root用の任意パスワード') where user = 'root';を試しました。
結果
1 エラーのまま。
2 ERROR 1146 (42S02): Table 'mysql.user' doesn't exist が出力。
2の結果が users ではなく何故 user なのかが分からない為、検索をかけたのですが、なかなか解決できません。また念の為、show tableで確認したとこ users の table は存在してます。
使用しているもの
mysql 5.6.45 MySQL