PHPからMySQLへ接続するコードのエラーを解消したいです。
エラー内容:
Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) in /Applications/AMPPS/www/phpkiso/thanks.php:13 Stack trace: #0 /Applications/AMPPS/www/phpkiso/thanks.php(13): PDO->__construct('mysql:dbname=ph...', 'root', '') #1 {main} thrown in /Applications/AMPPS/www/phpkiso/thanks.php on line 13
「いきなりはじめるPHPドキドキ・ワクワクの入門教室」という本でPHPを勉強しており、ほとんどスムーズに出来ていたのですが、
アンケート自動保存のためのコードを入力するページでデータベースに接続するためのコードを入力し実行したところ、上記のエラーが生じました。
使用ソフトに関して、本ではテキストエディタ「mi」・サーバーは「XAMPP」を推奨されていますが、「VSコード」と「AMPPS」を使用しています。
エラー内容から10〜13行目を確認しましたがスペルミスは見受けられませんでした。
どうすればエラーを解消しMySQLへ接続することができるでしょうか?
【thanks.php】
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>PHP基礎</title> </head> <body> <?php $dsn = 'mysql:dbname=phpkiso;host=localhost'; $user ='root'; $password =''; $dbh = new PDO($dsn,$user,$password); $dbh->query('SET NAMES utf8'); $nickname=$_POST['nickname']; $email=$_POST['email']; $goiken=$_POST['goiken']; $nickname= htmlspecialchars($nickname); $email= htmlspecialchars($email); $goiken= htmlspecialchars($goiken); print $nickname; print '様<br />'; print 'ご意見ありがとうございました<br />'; print '頂いたご意見『'; print $goiken; print '』<br />'; print $email; print 'にメールを送りましたのでご確認ください。'; $mail_sub= 'アンケート受け付けました。'; $mail_body= $nickname."様へ\nアンケートご協力ありがとうございました。"; $mail_body=html_entity_decode($mail_body, ENT_QUOTES, "UTF-8"); $mail_head='From: xxx@xxx.co.jp'; mb_language('Japanese'); mb_internal_encoding("UTF-8"); mb_send_mail($email,$mail_sub,$mail_body,$mail_head); $sql = 'INSERT INTO anketo (nickname,email,goiken) VALUES ("'.$nickname.'","'.$email.'","'.$goiken.'")'; $stmt = $dbh->prepare($sql); $stmt->execute(); $dbh = null; ?> </body> </html>
回答1件
あなたの回答
tips
プレビュー