[PHP-users 1162] Re: PEARのオブジェクトについて

Satoshi Yamada php-users@php.gr.jp
2001年8月13日 13:01:10 +0900


やまだ@神戸市 です。
> 正確には、 "$dsn = 'pgsql://sasaki@localhost/sasaki';" です。
> パスワードは特に設定していません。
> parseDSN関数の処理を見つつ、記述方法をいろいろ試しているのですが
> エラーが消えません。

 $dsn = 'pgsql://sasaki@unix+localhost/sasaki';
ではどうでしょう?
便乗質問なんですけど、DB_pgsql クラスってバグありません?
# バグは言い過ぎのような気もしますが...
DB_pgsql::connect() の、まさに↑のような DSN から、
pg_connect() に渡す文字列を作っている部分で
親クラスの DB::parseDSN() で解析された値を isset() で
各値の指定があるかを判定してます。
が、DB::parseDSN() で
 $parsed = array(
 'phptype' => false,
 'dbsyntax' => false,
 'protocol' => false,
 'hostspec' => false,
 'database' => false,
 'username' => false,
 'password' => false
 );
って初期化してるので isset() が偽になることはないような
気がするのですが...
おかげで public な(アクセス権を持つ) DB に
 $db = DB::connect('pgsql://localhost/db');
なんて繋ごうとしてちょっとだけハマりかけました。
-- 
やまだ <s-yamada@kcc.zaq.ne.jp>

AltStyle によって変換されたページ (->オリジナル) /