下記の様に$piyoと$hogeをそれぞれmysqlのpiyoとhogeのカラム
に格納する上で、NULLを受け付けないために
phpmyadminのnullチェックマークをチェックしNOT NULLの設定をいたしました。参考記事
phpmyadmin上、NULLにチェックすると構造上、デフォルト値がNULLとなり、NULLがはいとなります。
MYSQL上だけではなく、それ以前にPHPでももちろんissetのチェックはしているのですが念のために
データベース上でも受け付けない様にしております。
しかしながら、実際にpiyoのみを入力した場合でもmysqlはこれを処理してhogeのところは
MYSQL上NULLとなっております。
- NOT NULLの設定はNULLデータを受け取った場合エラーを返すものはないのでしょうか?それとも
phpmyadmin上の構造の設定に問題がるのでしょうか?
2) 仮にMYSQLがエラーを返す場合(NULL値を受け付けないのにNULLを受け取った場合)にはどの様な
処理を実行しようとするのでしょうか?1)の状態になってしまっているので、これがあるべき処理なのか
設定に誤りがあるのが判断ができないという状況です。
初心者の質問であり、誠に申し訳ございませんが
よろしくお願い申し上げます。
MYSQL:
Server type: MySQL
サーバのバージョン: 5.6.23-log - MySQL Community Server (GPL)
プロトコルバージョン: 10
PHP
7.1
PHP
1 try{ 2 $stmt = $pdo->prepare('INSERT INTO posting_data (piyo,hoge) VALUES(:piyo,:hoge)'); 3 $stmt->bindParam(':piyo',$piyo,PDO::PARAM_STR); 4 $stmt->bindParam(':hoge',$hoge,PDO::PARAM_STR); 5 $stmt->execute(); 6 }catch(PDOException $e){ 7 exit('データベース接続失敗。'.$e->getMessage()); 8 }
回答3件
あなたの回答
tips
プレビュー