現在mysqlにphpのPOST形式でデーターを入れようとしているのですが
エラーがでてしまい調べても修正方法がわからないため質問させていただきました
『エラーコード』
メンテナンス中の為ご迷惑をおかけいたします
id変数の展開->
PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'id' at row 1 in C:\MAMP\htdocs\database\receive.php:34 Stack trace: #0 C:\MAMP\htdocs\database\receive.php(34): PDOStatement->execute(Array) #1 {main}
id変数の展開->で一度$id変数を表示してみましたがnull?みたいです
数字はinputで確認に入れたのですが...
html
1 <form method="post" action="http://localhost:80//database/receive.php" name="formName"> 2 3 4 <div>商品ID</div> 5 <input type="number" name="id" id="id"> 6 7 8 <input type="submit" value="登録" name="register" id="register" /> 9 10 11 </form>
php
1<?php 2 3ini_set('mbstring.internal_encoding','UTF-8'); 4 5 6 7try{ 8 9 10$id=$_POST["id"]; 11 12 13$id=htmlspecialchars($id,ENT_QUOTES,"UTF-8"); 14 15 16 17 18if($id=""){ 19 20print "商品IDを入れてください"; 21print '<br>'; 22 23} 24 25require_once "../confidential/detabaseAccses.php"; 26 27$sql="insert into ilysb(id) values(?)"; 28 29$stmt=$dbh->prepare($sql); 30 31$data[]=$id; 32 33$stmt->execute($data); 34 35$dbh=null; 36 37}catch(exception $e){ 38 39print "メンテナンス中の為ご迷惑をおかけいたします"; 40 41print "<br>"; 42 43print "id変数の展開->"; 44 45print "$id"; 46 47print "<br>"; 48 49print $e; 50 51exit(); 52} 53 54?>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/10 00:15
2020/07/10 00:55
2020/07/10 02:40
2020/07/10 02:53
2020/07/10 04:28