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

KOYAMA Tetsuji php-users@php.gr.jp
2001年8月11日 00:13:04 +0900


 小山です。WEB+DB Press Vol.3 の例の記事を書いた本人です。(^^;
# 渋谷さん、フォローどうも。
At 2001年8月10日 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

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