現在、PHPの入門書に基づきアンケートページを作成し、回答したアンケートをDB(MySQL)に保存するプログラムを試していたのですが、DBへの接続~SQL文で指令~DB切断というプロセスでエラー表示が出てしまい、どうしてもうまくいきません。
スペルミス等は何度も確認したのですが、これ以上発見できず、エラーメッセージからは「アクセスする権限がない?」かのようなメッセージが表示されております。
特段、MySQLについては管理者アカウントなどの設定はしていないため、「root」とPHPでは記述したのですが、それがいけないのでしょうか。
申し訳ございませんがお力をお貸しいただければともいます。
よろしくお願いいたします。
以下、プログラムの記述とエラー表示です。
【】=実際にはかっこなしで該当の固有名詞を入れています。
<プログラム>
<?php $dsn ='mysql:dbname=【DB名】;host=localhost'; $usr ='root'; $password =''; $dbh = new PDO($dsn,$user,$password); $dbh->query('SET NAMES utf8'); $【変数A】=$_POST['【変数A】']; $【変数B】=$_POST['【変数B】']; $【変数C】=$_POST['【変数C】']; ~省略~ $sql ='INSERT INTO 【テーブル名】(【変数A】,【変数B】,【変数C】) VALUES("'.$【変数A】.'","'.$【変数B】.'","'.$【変数C】.'")'; $stmt = $dbh->prepare($sql); $stmt->execute(); $dbh = null; <エラーメッセージ> Notice: Undefined variable: user in 【パス】 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000] [1044] Access denied for user ''@'localhost' to database '【DB名】'' in 【パス】 Stack trace: #0 【パス】: PDO->__construct('mysql:dbname=【DB名】', NULL, '') #1 {main} thrown in 【パス】回答1件
あなたの回答
tips
プレビュー