[PHP-users 22554]Re: autoCommitについて

Hiroyuki Yokoyama hiro @ oaksway.com
2004年 7月 9日 (金) 19:33:47 JST


komuraさま

下記のご指摘ありがとうございます。

ご指摘箇所とサーバーの設定を見直して
動作するようになりました。
大変ありがとうございます。

また何かありましたら、お知恵を拝借できればと思います。

ではでは


On Fri, 9 Jul 2004 18:54:39 +0900
komura <komura @ ma9.seikyou.ne.jp> wrote:

> komura です。
> 
> On Fri, 09 Jul 2004 17:45:17 +0900
> Hiroyuki Yokoyama <hiro @ oaksway.com> wrote:
> 
> > 現在PHP4+PostgreSQL7.2.3を使用して開発を行っているのですが
> > autocommitの引数をfalseで設定して実行すると
> > autocommitの呼び出しから何も応答がありません。
> > ご存知の方がいましたら、ご教授の程よろしくお願いします。
> 
> 下記のソースコードを見たところでは、autocommit は関係ないと思います。
> 
> 
> > 下記にソースの一部を記載させていただきます。
> 
> まず、開発中は @ を付けて、エラーを出力を抑制するのは止めておいた方が
> 良いと思います。@ を外して、エラーが表示されないかを確認してください。
> 
> 
> > ------
> > $i_dsn = 'pgsql://hogehoge: @hostname/dbname';
> 
> DSN は単なるサンプルだと思いますが、本当に正しい書式かどうかを確認して
> ください。
> 
> 
> > $this->db = @DB::connect( $i_dsn ) ;
> 
> $this->db に結果を入れているということは、このコードはクラスの中で
> 実行されているということでしょうか?
> 
> おそらく、ここで返される $this->db は DSN が正しくないか、データベースの
> 接続に失敗したため、PEAR のエラークラスが返ってきているのではないかと
> 思います。
> 
> 
> > if( @DB::isError( $db ) ){  
> 
> $db は、$this->db の間違いでしょうか?
> $db が別で定義されていない場合は、この if 文は常に FALSE になりますので、
> 下の接続失敗の部分は実行されません。
> 
> 
> >  // 接続失敗
> > }else{
> >  // 接続成功
> >  $res = @$this->db->autoCommit( false ) ;
> 
> おそらく、ここで $this->db->autoCommit() というメンバ関数がないため、
> 実行が中断されていると思います。
> 
> 
> > }
> > ------
> 
> -- 
> komura <komura @ ma9.seikyou.ne.jp>
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://www.php.gr.jp/php/novice.php3





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