- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データベース(MySQL)にNULLとして格納)
MySQLデータベースにNULLとして格納する方法
このQ&Aのポイント
- MySQLデータベースにNULLとして格納する方法について教えてください。
- テキストフィールドに何も記述されていない場合にNULLとして追加したいですが、どうすればよいですか?
- 現在、空白が格納されてしまいます。NULLとして格納する方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
$number= ($_POST["number"]!="") ? $_POST["number"] : NULL; でどうなります?
その他の回答 (2)
- maiko0318
- ベストアンサー率21% (1483/6969)
回答No.2
$number= isset($_POST["number"]) ? $_POST["number"] : 'NULL'; これ、なにか引っかかります。 $number= 'NULL'; にしたらどうなります?
質問者
補足
回答ありがとうございます。 isset($_POST["number"])だと何故か全てTRUEになってしまうみたいだったのでIF文を変えてみました。 $number = ($_POST["number"]!="") ? $_POST["number"] : "NULL"; これだと変数に「NULL」を代入することはできたのですが、カラムがINT型だと「0」が、VARCHAR型だとそのまま「NULL」がテキストとして格納されてしまいました。
- maiko0318
- ベストアンサー率21% (1483/6969)
回答No.1
テーブルの作成時、該当カラムにはNOT NULL は指定していないですか? ちょとわかりませんけど、NULL ではなくて null でやってみてください。
質問者
補足
回答ありがとうございます。 カラムを追加した時にデフォルト値にNULL、チェックも入れています。 自作のフォームからはNULLが追加できないため、phpMyAdminから開いてNULLにチェックしてNULLを入れています。 >ちょとわかりませんけど、NULL ではなくて null でやってみてください。 nullでやってみましたが、結果は同じでした。
お礼
回答ありがとうございます。 >$number= ($_POST["number"]!="") ? $_POST["number"] : NULL; 仰る通りにしたらINT型にもVARCHAR型にもNULLが入りました。 本当にありがとうございました。