[PHP-users 15284]pg_atoiでエラーが出る
ohara takaaki
ohr @ yoursys.org
2003年 5月 15日 (木) 00:28:01 JST
オハラといいます.(SQL&phpビギナー)
pgsql-jp @ ml.postgresql.jp にも投稿しましたが
php との関係もあるかと思い,こちらにも投稿させて
ください.
php からテキスト型にテキストを INSERT するクエリを
実行すると pg_atoi のエラーが出ます.
(psql で直接クエリ実行ではエラーは出ません!)
=== 環境
Linux version 2.4.18-17.7.xcustom
Red Hat Linux 7.3 2.96-112
PostgreSQL 7.2.2
php4.2.4-dev
apache1.3.23
===
で,以下のような table1 を作成しました.
someflg | smallint |
code | integer | not null default nextval('"table1_code_seq"'::text)
textcode | text |
code は serial 型です.
この table1 に以下のような SQL 文を php スクリプトで作成し
pg_exec に渡します.
$textCode = 'str010101954';
$sql = "INSERT INTO table1(someflg, textCode) VALUES(0,'$textCode')";
pg_exec($con, $sql);
とすると,
Warning: pg_exec() query failed: ERROR: pg_atoi: error in
"str010101954": can't parse "str010101954" in ・
というエラー(警告)が出ます.(データは挿入されています)
TEXT 型にテキストを INSERT してこの pg_atoi エラーが出るのか
解りません.
因みに,
$textCode = '11111111';
などとして「文字」を省略するとエラーはでません.
が,
$textCode = 'aaaaaaaa';
などとすると同じエラーが出ます.
===
pg_atoi はアスキー文字を Integer に変換する(?)ぐらい
にしか理解していません.
どのようなことでも構いませんのでアドバイスいただけたら
幸いです.
--
ohara takaaki <ohr @ yoursys.org>
PHP-users メーリングリストの案内