[PHP-users 1160] Re: PEARのオブジェクトについて
KOYAMA Tetsuji
php-users@php.gr.jp
Sat, 11 Aug 2001 00:13:04 +0900
小山です。WEB+DB Press Vol.3 の例の記事を書いた本人です。(^^;
# 渋谷さん、フォローどうも。
At Fri, 10 Aug 2001 23:36:30 +0900,
Hisao SHIBUYA wrote:
> > $db = DB::connect($dsn);
> > if (DB::isError($db)) {
> > print("エラー。");
> > }
> > $sql = 'select * from hogetbl';
> > $res = $db->query($sql);
>
> 詳細なエラーが必要であれば
> print $db->getMessage();
> とすればエラーメッセージが表示されます。
補足すると、DB::connect() が返す値は
接続が成功した場合 -> DB_xxx クラスのオブジェクト
(xxx は DSN に指定した phptype によっ
て変わります)
接続が失敗した場合 -> DB_Error クラスのオブジェクト
になります。
そもそも、DB::isError() は引数が DB_Error クラスのオブジェクト等かど
うかチェックするものです。つまり、これが真になったということは、$db が
DB_Error クラスのオブジェクトであるということを意味しています。
そして、DB_Error クラスには query() というメンバー関数は存在しないの
で、$db->query() を呼ぶと
Fatal error: Call to undefined function: query()
になるわけです。
記事中やソースコードのの DSN の内容は、各人の DB の環境によって適宜
変更してください。
--
小山 哲志@ビート・クラフト
koyama@beatcraft.com
koyama@hoge.org