[PHP-users 29183] Re: PEAR の getone() が使えない

egis@csc.jp egis @ csc.jp
2006年 5月 11日 (木) 18:20:45 JST


いわせです。

>   if (PEAR::isError($db)) {
>     sprintf("can't connect database.");
>   }

接続に失敗しているのに処理を継続してはまずいのでは。

最初の投稿に

>  $db = DB::connect(DSN, false) or die ("can't connect
database.");

とあるので

   if (PEAR::isError($db)) {
     die("can't connect database.");
   }

とするのが佐本さんの意図した動作となるのではないでしょうか。

> やはり、$dbがDB_Errorオブジェクトとかなのでこのようなエ
> ラーが出力されてしまうのか、

についてはその通りです。
DB_ErrorクラスにはgetOne()関数はないので、その通りのエラーが
出力されています。

で接続の失敗の原因ですが、var_dumpの出力に

> ["code"]=> int(-14) ["message"]=> string(30) "DB Error: no
> database selected" ["userinfo"]=> string(104) "

とあるので、データベース名が正しいか確認してみてはいかがでしょう。





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