PEARのDBライブラリを使うのが一苦労でしたよ
phpでPEARをインストールし、さてデータベースに接続しようと思ったら、基本のとこで色々つまずいたので今後誰かに教える時の参考にでも記しておきます。
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