xamppからphpmyadminでのMysqlデータベースについてです。
以下のコードを書いたのですが、Mysqlにデータが追加されません。どうしてでしょう?
$dsn='mysql:abname=phpkiso;host=localhost';
$user='***';
$password='***';
$dbh=new PDO($dsn,$user,$password);
$dbh->query('SET NAMES UTF-8');
$sql='INSERT INTO `anketo`(`nickname`,`email`,`goiken`)VALUES("'.$nickname.'","'.$email.'","'.$goiken.'")';
$stmt=$dbh->prepare($sql);
$stmt->execute();
$dbh=null;
> $dsn='mysql:abname=phpkiso;host=localhost';
abname ってなってますけど?
接続がうまくいくかのテストからでしょうから、マニュアルにある様にちゃんと接続できているかをチェックするようにした方がよいのではありませんか?
http://jp2.php.net/manual/ja/pdo.construct.php#refsect1-pdo.construct-examples
PDO じゃなかったんですか?
2013/01/01 00:55:18しかも現時点では推奨されていない mysql関数...
http://jp2.php.net/manual/ja/function.mysql-connect.php
このエラーは、ユーザ名とパスワードのペアが合っていない時に起こると思います。(更にパスワード不要時に指定したりその逆の場合も)
また、ユーザの登録時に localhost からの接続を許しているのかもご確認ください。
横からですが・・・
2013/01/02 15:50:13rootにパスワードを設定した時の手順はどのようになっていますか?
それから、phpMyAdminからデータベースへのアクセスは現在可能ですか?
パスワードを入力してログインできない場合は、パスワード欄空白のままでログインしてみてください。
次に、データベース「mysql」の「user」テーブルを開いて、レコードを確認してください。
「Host」が「127.0.0.1」の「root」にだけパスワードが設定されていないでしょうか?
あるいはその逆で、「Host」が「localhost」の「root」にだけパスワードが設定されていないでしょうか?
両方に同じパスワードを設定してください。(WEBアプリケーションやコマンドプロンプトからのアクセスには、おそらく「Host」が「127.0.0.1」の設定が使用されています。)
※上記は両方ともXamppにデフォルトで登録済みのユーザーですから、削除していない場合は登録されていると思います。