[PHP-users 4778] Re: EXPLAIN実行結果を取得できない。

桝形 誠二 php-users@php.gr.jp
Thu, 17 Jan 2002 15:47:03 +0900


桝形です。

お答えして頂き、どうもありがとうございます。

> このバージョンのPHPが対応していないからです.
> PHPのバージョンを 4.1.0 以上にすれば pg_last_notice() という関数で取得
> できます(ph-4.0.6にもあるけど推奨できません).

そうだったのですか、これは知りませんでした。
情報提供ありがとうございます。
今度、PHPのバージョンを上げてみて確認してみます。

> どうしてもPHP3でやりたければ,psql を外部プログラムで起動するとかになっ
> ちゃいますかね.

とりあえず今回は対象PHPバージョンがPHP3ですので
こちらを試してみました。

psql データベース名 -c'EXPLAIN SELECT * FROM テーブル名'

をExecコマンドで実行すると何故か

EXPLAIN

の一行だけしか返ってきませんでした。(^^;

psql データベース名 -c'SELECT * FROM テーブル名'

としてExecコマンドを実行すると実行結果は
コマンドラインと同様に返ってきます。

ちなみにコマンドラインから

psql データベース名 -c'EXPLAIN SELECT * FROM テーブル名'

を実行するとEXPLAN実行結果は返ってきます。

どこか間違っている箇所があれば御指摘ください。
_______________________

  桝形 誠二( Masugata Seiji )
  E-Mai l: s.masugata@digicom.dnp.co.jp

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄