htmlのPOSTで受け取った値(数値)をphpを用いて検索すると、対応するデータベースのIDのレコードが表示されるものを作りたいと考えているのですが、数値として扱われずエラーと出力されてしまいます。
(例)テキストボックスに3と入力すると 3は実在しませんとエラー。
どうすれば正常に動作するかご教授よろしくお願いします。
html
1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 <title>test</title> 6 </head> 7 <body> 8 <form action="test.php" method="POST"> 9 <label for="my_ID">ID:</label> 10 <input type="text" id="my_ID" name="my_ID" style = "width: 100px;"maxlength="255" value=""> 11 <input type="submit" value="選択"> 12 <br><br> 13 </form> 14 </body> 15</html>
php
1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 <title>test</title> 6 </head> 7 <body> 8 <?php 9 10 $ID = $_POST['my_ID']; 11 $sql = "SELECT * FROM my_items WHERE id = `$ID`"; 12 13 echo '<font color="blue"=>実行結果</font><br>'; 14 try{ 15 $db = new PDO('mysql:dbname=mydb;host=127.0.0.1;charset=utf8','root',''); 16 } 17 catch(PDOException $e) 18 { 19 echo 'DB接続エラー:'. $e->getMessage(); 20 } 21 22 $records = $db->query($sql); 23 24 if($records == NULL) 25 { 26 echo "$ID は存在しません"; 27 } 28 29 else 30 { 31 while($record = $records->fetch()) 32 { 33 print($record['item_name']."<br>"); 34 } 35 } 36 ?> 37 </body> 38</html> 39
回答2件
あなたの回答
tips
プレビュー