前提・実現したいこと
PHPとMysqlを使い、新規登録機能を作りたいです。
発生している問題・エラーメッセージ
画面自体は表示できるのですが、データベースを確認すると、「Empty set」となってしまいデータが送れていないと思われます。
初心者なのでコードにおかしな部分がありましたらご指摘いただきたいです。
よろしくお願いします。
該当のソースコード
$dsn = 'mysql:dbname=test_login;host=localhost'; $user = 'hoge_user'; $password = 'hogehoge'; $pdo = new PDO($dsn,$user,$password); if(isset($_POST['send'])){ echo "入力完了1"; $mail = $_POST['mail']; $password = $_POST['password']; $name = $_POST['name']; $sex = $_POST['sex']; $live = $_POST['live']; $introduction = $_POST['introduction']; if(isset($mail,$password,$name,$sex,$live,$introduction)){ echo "入力完了2"; $stmt = $pdo -> prepare("INSERT INTO board (mail, password, name, sex, live, introduction) VALUES (:mail, :password, :name, :sex, :live, :introduction)"); $stmt->bindParam(':mail', $mail, PDO::PARAM_STR); $stmt->bindParam(':password', $password, PDO::PARAM_STR); $stmt->bindParam(':name', $name, PDO::PARAM_STR); $stmt->bindParam(':sex', $sex, PDO::PARAM_STR); $stmt->bindParam(':live', $live, PDO::PARAM_STR); $stmt->bindParam(':introduction', $introduction, PDO::PARAM_STR); $stmt->execute(); $pdo->query($stmt); header("Location: " . $_SERVER['PHP_SELF']); }else{ echo "入力していない項目があります。"; } } $dbh=null; ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title></title> </head> <body> <form action="" method="post"> <div> <label for="mail">E-mail:</label> <input type="mail" id="mail" name="mail"> </div> <div> <label for="password">パスワード:</label> <input type="password" id="password" name="password"> </div> <div> <label for="name">名前:</label> <input type="text" id="name" name="name"> </div> <div> <label for="sex">性別:</label> <select type="text" id="sex" name="sex"> <option value="男性">男性</option> <option value="女性">女性</option> <option value="その他">その他</option> </select> </div> <div> <label for="live">在住:</label> <input type="text" id="live" name="live"> </div> <div> <label for="introduction">自己紹介:</label> <textarea type="text" id="introduction" name="introduction"></textarea> </div> <div class="button"> <input type="submit" name="send" value="登録"> </div> </form> </body> </html> コード
補足情報
XAMPPを使いローカル開発環境で行っています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/12/03 04:48 編集