PDOを用いてDBに登録したいのですが、入力フォームで入力した内容がDB上で
表示されません。すべてNULLでセットされてしまいます。
どの辺が誤っているのか、ご指摘いただけないでしょうか?
よろしくお願い致します。
html
1<body> 2 <form method="POST" action="dbtest.php"> 3 <textarea name="contents" cols="90" rows="10" placeholder="入力"></textarea></div> 4 <input type="text" name="cho1" class="form-control" placeholder="入力"> 5 <input type="text" name="cho2" class="form-control" placeholder="入力"> 6 <input type="text" name="cho3" class="form-control" placeholder="入力"> 7 <input type="text" name="cho4" class="form-control" placeholder="入力"> 8 <input type="text" name="cho5" class="form-control" placeholder="入力"> 9 <input type="text" name="cho6" class="form-control" placeholder="入力"> 10 <input type="text" name="cho7" class="form-control" placeholder="入力"> 11 <input type="text" name="cho8" class="form-control" placeholder="入力"> 12 <input class="btn-square-shadow" type="submit" value="送信" /> 13 </form> 14</body>
php
1dbtest.php 2 3<!DOCTYPE html> 4<html> 5<head> 6<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 7<title>test</title> 8</head> 9<body> 10<?php 11 12if (isset($_POST["contents"], $_POST["cho1"], $_POST["cho2"], $_POST["cho3"], $_POST["cho4"], $_POST["cho5"], $_POST["cho6"], $_POST["cho7"], $_POST["cho8"])) { 13 14 $contents = $_POST["contents"]; 15 $cho1 = $_POST["cho1"]; 16 $cho2 = $_POST["cho2"]; 17 $cho3 = $_POST["cho3"]; 18 $cho4 = $_POST["cho4"]; 19 $cho5 = $_POST["cho5"]; 20 $cho6 = $_POST["cho6"]; 21 $cho7 = $_POST["cho7"]; 22 $cho8 = $_POST["cho8"]; 23} 24 25try { 26$pdo = new PDO('mysql:host=localhost;dbname=lcdb;charset=utf8','root','admin_1001', 27array(PDO::ATTR_EMULATE_PREPARES => false)); 28} catch (PDOException $e) { 29 exit('データベース接続失敗。'.$e->getMessage()); 30} 31 32$stmt = $pdo -> prepare("INSERT INTO lcqtbl (contents, cho1, cho2, cho3, cho4, cho5, cho6, cho7, cho8, cre_date ) VALUES (:contents, :cho1, :cho2, :cho3, :cho4, :cho5, :cho6, :cho7, :cho8, now())"); 33$stmt->bindParam(':contents', $contents, PDO::PARAM_STR); 34$stmt->bindParam(':cho1', $cho1, PDO::PARAM_STR); 35$stmt->bindParam(':cho2', $cho2, PDO::PARAM_STR); 36$stmt->bindParam(':cho3', $cho3, PDO::PARAM_STR); 37$stmt->bindParam(':cho4', $cho4, PDO::PARAM_STR); 38$stmt->bindParam(':cho5', $cho5, PDO::PARAM_STR); 39$stmt->bindParam(':cho6', $cho6, PDO::PARAM_STR); 40$stmt->bindParam(':cho7', $cho7, PDO::PARAM_STR); 41$stmt->bindParam(':cho8', $cho8, PDO::PARAM_STR); 42$stmt->execute(array($contents, $cho1, $cho2, $cho3, $cho4, $cho5, $cho6, $cho7, $cho8)); 43 44if ($stmt) { 45 echo "登録完了!"; 46} else { 47 echo "エラー"; 48} 49?> 50</body> 51</html>
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。