[PHP-users 18297]データーベースへのNull値の挿入
Kazuhiro Abe
kazuabe @ alles.or.jp
2003年 10月 7日 (火) 16:28:29 JST
KAZ です。
以前は、大変お世話になりました。
今回も是非、ご教授をお願い致します。
今回は、Webフォームから、入力されたデーターを
DB(Postgres)へインサートしたいのですが、
$tempの値を省略すると、
pg_atoi: error in " ": can't parse " " in.......
と云うエラーが出てしまいます。
(入力すれば、OKなんですが....)
$tempのデーターが入力されていなければ、NULLとしたいのですが、
いろいろと、探させていただいたのですが、上手くゆきません。
何卒、宜しくお願い致します。
データーをインサートする部分は、以下の様になっています。
$date = date("Y,m,d");
$weather = $_GET['weather'];
$temp = $_GET['temp'];
$connect = pg_connect("","","otenki");
if($connect == false) {
echo("<font color=\"red\">DB接続エラー</font>:DB と接続
できません");
} else{
$sql = "insert into logdata(date,weather,temp) values (";
$sql .="'".$date."','".$weather."','".$temp."')";
............ 以下略.............
DBのテーブルは、以下の様に作成しました。
CREATE TABLE otenki(
tenki_id serial PRIMARY KEY,
date date not null,
weather int2 not null,
temp int2 default NULL check(temp IS NULL or temp < 50 or
temp > -30)
);
データーベースのテーブルは、以下の様になっています。
カラム | 型 | 修飾語
----------+------------------------+--------------------------------------------------------
tenki_id | integer | not null default
nextval('"otenki_tenki_id_seq"'::text)
date | date | not null
weather | smallint | not null
temp | smallint |
プライマリキー: logdata_pkey
制約条件のチェック:"otenki_temp" ((("temp" IS NULL) OR ("temp" < 50)) OR
("temp" > -30))
以上 宜しくお願い致します。
PHP-users メーリングリストの案内