■やりたいこと
inputに入力した要素をデータベースに追加したい。
■問題点
下記のエラーコードがでてデータベースに追加できない。
sql
1SQLSTATE[HY000]: General error: 1364 Field 'gazou' doesn't have a default value
table:mst_product
colum: code,name,price,gazou
php
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>done</title> 7</head> 8<body> 9 <?php 10 11 $pro_name = $_POST['name']; 12 $pro_price = $_POST['price']; 13 14//htmlspecialcharsの使い方が違うのは自覚しています。 15 $pro_name = htmlspecialchars($pro_name,ENT_QUOTES,'UTF-8'); 16 $pro_price = htmlspecialchars($pro_price,ENT_QUOTES,'UTF-8'); 17 try{ 18 $db = new PDO('mysql:host=localhost;dbname=shop','aaa','1111'); 19 $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 20 $sql = 'INSERT INTO mst_product(name,price) VALUES (?,?)'; 21 $stmt = $db->prepare($sql); 22 $stmt->execute(array($pro_name,$pro_price)); 23 24 $stmt = null; 25 $db = null; 26 print $pro_name; 27 28 }catch(PDOException $e){ 29 echo $e->getMessage(); 30 exit; 31 } 32 ?> 33 <a href="">戻る</a> 34</body> 35</html>
■試したこと
下記のサイトを参考にファイルを探してみたが該当するファイルを見つけるコットができなかった。
参考
//追加情報
下記の二つのサイトを参考にconfにmy.cnfファイルを作ってコードを追加しましたが効果なしでした。
sql
1[mysqld] 2sql_mode=NO_ENGINE_SUBSTITUTION
■環境
mamp
サーバの種類: MySQL
サーバのバージョン: 5.7.26 - MySQL
回答1件
あなたの回答
tips
プレビュー