お世話になります。
phpの基本を勉強している初心者です。
いきなり始めるPHPという本で順番に勉強しています。
現在、phpを使ってmysqlのlocalhostのphpkisoデータベースのanketoテーブルに,code,nickname,email,opinionを挿入したいのですが、上手くいきません。
データベースの文字コードはutf8_general_ci
ソースコードの方の文字コードもutf-8にしてあります。
thanks.php
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; "charset="utf-8"> <title>PHP基礎</title> </head> <body> <?php $dsn = 'maysql:dbname=phpkiso;host=localhost'; $user = 'root'; $password = ''; $dbh = new PDO($dsn, $user, $password); $dbh->query('SET NAMES utf8'); $nickname=$_POST['nickname']; $email=$_POST['email']; $opinion=$_POST['opinion']; $nickname = htmlspecialchars($nickname); $email = htmlspecialchars($email); $opinion = htmlspecialchars($opinion); print $nickname.'様<br/>'; print 'ご意見ありがとうございます<br/>'; print $opinion.'ですね<br/>'; print $email.'にメールさせていただきます'; $mail_sub = 'アンケート受け付けました'; $mail_body = $nickname."様¥nアンケートご協力ありがとうございます"; $mail_body = html_entity_decode($mail_body,ENT_QUOTES,"UTF-8"); $mail_head = 'From:Flitch@gmail.com'; mb_language('Japanese'); mb_internal_encoding("UTF-8"); mb_send_mail($mail_sub, $mail_body, $mail_head); $sql = 'INSERT INTO anketo (nickname,email,opinion) VALUES ("'.$nickname.'","'.$email.'","'.$opinion.'")'; $stmt = $dbh->prepare($sql); $stmt->execute(); $dbh = null; ?> </body> </html>
エラーはFatal error: Uncaught PDOException: could not find driver in /opt/lampp/htdocs/phpkiso/thanks.php:13 Stack trace: #0 /opt/lampp/htdocs/phpkiso/thanks.php(13): PDO->__construct('maysql:dbname=p...', 'root', '') #1 {main} thrown in /opt/lampp/htdocs/phpkiso/thanks.php on line 13
と出ています
よろしくお願いします
回答1件
あなたの回答
tips
プレビュー