[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 メーリングリストの案内