登録フォームの入力内容をデータベースからPHPに出力表示したいです。入力内容をデータベースまで登録するのはできてるのですが、その値をとってこれずにいます。
ご教授頂ければ幸いです。
<テーブル名:loginUser>
<カラム名:id(主) firstname lastname
PHP
<?php session_start(); $dsn ='mysql:host=localhost;dbname=ex.sql;Charset=utf8'; $user ='root'; $password ='root'; //$firstname ='firstname'; //$lastname ='lastname'; if(isset($_POST['firstname']) && isset($_POST['lastname'])) try { $firstname = $_POST['firstname']; $lastname = $_POST['lastname']; $db = new PDO($dsn,$user,$password); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $db->prepare("INSERT INTO loginUser(firstname,lastname)VALUES(:firstname,:lastname)"); $sth = $db->prepare('SELECT firstname,lastname FROM loginUser'); $stmt->bindParam(':firstname',$firstname,PDO::PARAM_STR); $stmt->bindParam(':lastname',$lastname,PDO::PARAM_STR); $stmt->execute(); } catch(PDOException $e){ die ('error:'.$e->getMessage()); } ?> <html> <head> <title>Registration Form</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body></body> </html><h2>Registration Form</h2> <form action="ex3-5-13.php" method="POST"> First name: <input type="text" name="firstname"> <br> Last name: <input type="text" name="lastname"> <input type="hidden" name="form_submitted" value="1" /> <input type="submit" value="Submit"> </form>
コードはマークダウンのcode機能を利用してご提示ください。
SELECT文がprepare()でセットされるだけで実行されてないというのは認識されていますか?
また実行するだけではなく取得した情報を出力する処理が書かれていないというのは認識されていますか?
(これほぼ回答ですが、どこまで自身のコードを把握できているか確認のため)
bindParam()ケーサツがくるぞ
クエリの実行に関しての記載が全く書かれていないですね。
再度作成し直します。
また、マークダウンに関してコード機能を間違って捉えておりました。
大変失礼いたしました。
bindParam()ケーサツ !
恐ろしい。。。
私のSELECT分は実行されていないのですね。承知いたしました。
fetchメソッドを使用してみます。
selectのprepare結果の変数、どこにも何もされてないですよね、という話です。
質問は編集できますので適宜調整いただければと。
回答1件
あなたの回答
tips
プレビュー