[pgsql-jp: 30488] Re: UPDATEがされません

Keiji Mitsubuchi keiji @ nwco.com
2003年 7月 16日 (水) 15:44:06 JST


加藤さんも指摘されていましたが

psqlでOKという事は
postgresユーザーから
Updateができるということだと思いますので
PHPの実行ユーザー(apache or nobody?)からの
DBのアクセス権限は、どのようになって
いるのか、確認した方が良いかもしれません。

> ごとうです。
>
> >
> > 三淵@NWCです。
> >
> > 私も、エキスパートでは有りませんが
> > テーブルの構造や
> > どのようなデータを入れたのか等
> > 詳しい情報がないと
> > なんともいえないように思います。
> >
> 失礼しました。
>
> テーブルの構造は、
> CREATE TABLE syohin_mst(
> syohin_cd varchar(13) not null,
> jan_cd varchar(13),
> ctg1 char(2),
> ctg2 char(3),
> ctg3 char(4),
> s_ymd date default 'now',
> e_ymd date,
> syohin_mei varchar(50) not null,
> ryakusyo varchar(20),
> maker varchar(30),
> teika numelic(6,2),
> net numelic(6,2),
> primary key(syohin_cd)
> );
> このように作成しました。
>
> 実際のSQL文は
>
> UPDATE syohin_mst SET jan_cd='', syohin_mei='アルファ BOX', ryakusyo='ア
ル
> ファ BX',
> maker='', teika=300.00, net=null, s_ymd='2003-07-01', e_ymd='9999-12-31'
> WHERE syohin_cd='991153 ';
>
> のようになります。
> セットされている値は、プログラム中では変数が入っているので、値の入らない
(n
> ull)
> ものもあります。
>
> > ちなみに、pqslにて、
> > まったく同じUPDATE文を
> > 入れたときには、
> > 動いたのでしょうか?
> >
> > SQLに問題がないか
> > 確認する必要があるように
> > 思います。
> >
> psqlにて、上記SQLを実行したところ、UPDATEされました。
> 上のSQL文はデバッグ用に出力させているものなので、プログラム中で実行され
て
> いる
> SQL文と相違ないものです。
>
> よろしくお願いします。
>
> > >
> > > 以下がSQLを実行している部分のソースになります。
> > > ---------------------------------------------------------------
> > >
> > > if($mode == "INSERT"){
> > > $sql = "INSERT文";
> > > } elseif($mode == "UPDATE") {
> > > $sql = "UPDATE文"';";
> > > }
> > > $result = pg_query($cnn, $sql);
> > > if(!$result){
> > > echo $sql;
> > > exit;
> > > }
> > > echo $sql; ---(1)
> > > echo $result; ---(2)
> > >
> > > ---------------------------------------------------------------
> > >
> > > $modeという変数の値にてINSERTとUPDATEを切り替えており
ま
> > す。
> > > pg_queryもエラーなく実行され、(1)でもUPDATE文が出力されます。
> > > (2)では”Resource id #2”というメッセージが出力されるので、SQL文
で
>> > > エラーはないと思われます。
> > >
> > > 環境は
> > >  PHP4.2.3
> > >  PostgreSQL7.2.3
> > > です。
> > >
> > > よろしくお願いします。
> > >
> >
>




pgsql-jp メーリングリストの案内