CGIからデータベースにデータを登録したいのですが。。
CGIからデータベースにデータを登録したいのですが。。
ブラウザ(文字コードはUTF-8)からデータをCGIで取得し、そのデータをMySQLに登録したいと考えています。
このようにしています。
$sth = $db->prepare("
INSERT INTO tbl (hiduke,code,namae,suryo,biko,sakuseibi,kosinbi)
VALUES($hiduke,$code,$namae,$suryo,$biko,$sakuseibi,$kosinbi)
");
$sth->execute;
$biko の部分にはデータが入ったり入らなかったりします。
この$bikoにデータが入っているときは、ちゃんとテーブルに登録されるのですが、
空の場合はテーブルに登録されないのです。
試しに、このようにしてみると
$sth = $db->prepare("
INSERT INTO tbl (hiduke,code,namae,suryo,biko,sakuseibi,kosinbi)
VALUES($hiduke,$code,$namae,$suryo,'',$sakuseibi,$kosinbi)
");
$sth->execute;
bikoの部分が空でちゃんと登録されます。
テーブル定義もbikoの部分はNULL値OKにしてあります。
bikoのデータ型がTEXTでもVARCHARでもダメです。
どうしてなのかわっぱりわからず、ここ数日、ずっと悩んでおります。
テーブルに登録するコードの直前で、$biko='';
としても登録されません。。
わかりづらい質問かと思いますが、ご不明点がございましたら
ご質問ください。
よろしくお願い致します。
お礼
すいません、ご連絡遅くなりました。 メッセージありがとうございます。 自動で生成されるSQLを変更すれば可能なのですね。 一度やってみます。ありがとうございました。