PEARのDBライブラリを使うのが一苦労でしたよ

phpPEARをインストールし、さてデータベースに接続しようと思ったら、基本のとこで色々つまずいたので今後誰かに教える時の参考にでも記しておきます。

1) まず画面が真っ白に
はい、これはまずエラーを表示せんといかんです。
php.iniの
;error_reporting = E_ALL
セミコロンを外し、
error_reporting = E_ALL
としてエラーを表示させます。
E_ALLは、エラー全部表示しちゃうよ
という設定で他にも細かく選べるようですが
とりあえず全部みたいのでこれにしました。


2) DB.phpを読み込めない
PEARをインストールしただけでは使えんとです。
DBライブラリをインストールせんといかんです。


コマンドプロンプトを開いて
phpをインストールしたフォルダ(C:\>phpなど)へ行き、


pear install DB


と打てば色々出てきてやってくれます。


ちなみに、
Smarty入門 PHP+テンプレートエンジンでつくるMVCアプリケーション」
を参考に色々やってたんですが、
この本にはPEARインストールのとこまでしか書いておらず、
PEARインストールしたらDB.php
使えるような雰囲気で書いてあったので最初戸惑いました。
省かないでほしいです・・・




3) prepare()が定義されてないよ
DBライブラリをインストールして、
さてできるかなーと思ったら


Fatal error: Call to undefined method DB_Error::prepare()


というエラーが表示されました。


http://oshiete1.goo.ne.jp/qa2338790.html
このへんを参考にして、
こういうのを追加して


if (DB::isError($this->_db)) {
print DB::errorMessage($this->_db);
}


DB接続時のエラーを表示させたところ、


extension not found


と出てました


そこで調べてみたところ、
php.iniでextensionの設定をやっていないと。
ということで、


;extension=php_mysql.dll


セミコロンを外し


extension=php_mysql.dll


とすると、無事に接続することができました。


やれやれ。
ちなみにこのサイトが結構親切でした。
http://www.phpbook.jp/pear/pear_db/index4.html