[PHP-users 26515] Re: PostgreSQLのクエリ作成について

Agyou Kondo kondo @ agyou.com
2005年 8月 19日 (金) 17:20:30 JST


近藤です。

以下のようにすれば、未入力の際でも0入力で回避できると思いますよ。

$sql= " INSERT INTO TEST(AA,BB) VALUES ((int)$aa,'$bb');

これでは解決になりませんか?


On Fri, 19 Aug 2005 11:38:58 +0900
天野 義祐 <amano @ kscom.co.jp> 様のメッセージ:

> こんにちは、あまのです。
> 
> 
> 環境
> OS:Red Hat Linux ES3
> PostgreSQL:7.4.8
> PHP:4.4.0
> 
> HTMLフォームに入力されたデータをPostgreSQLのテーブルにインサート
> しようとしているのですが、int型の未入力項目の取り扱いに苦慮しています。
> 
> 
> テーブル
> create table TEST( AA int, BB text);
> 
> PHPにてTESTテーブルにデータをインサートするクエリ
> 
> $sql= " INSERT INTO TEST(AA,BB) VALUES ($aa,'$bb');
> 
> ここで$sqlを実行したときに $aa 項目が未入力だと当然エラーになってしまいま
> す。
> 
> これがオラクル用のOCI関数だと
> 
> $sql= " INSERT INTO TEST(AA,BB) VALUES ( :aa , :bb);
>>> OCIBindByName($sql, ":AA", &$aa, -1);
> OCIBindByName($sql, ":BB", &$bb, -1);
> 
> というように変数の内容をバインドできました。
> 
> PHP+PostgreSQLの場合はどのように解決すればよいのでしょうか?
> 前もって変数の内容をチェックしなければならないのでしょうか?
> ※未入力の場合は明示的にnull文字列を代入するとか・・・?
> 
> 
> アドバイスお願いします。




PHP-users メーリングリストの案内