[PHP-users 1162] Re: PEARのオブジェクトについて
Satoshi Yamada
php-users@php.gr.jp
Mon, 13 Aug 2001 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>