!!!PEAR '''PEAR'''とは、PHPで使用できる便利ライブラリ群です。 主に、DBのアクセスをMySQLに限定したくないときに使うことになります ほかにもいろいろできるみたいですが、DBアクセスでのPEAR使用を説明していきます。 !!PEARのインストール PHPをインストールしたときにPEAR自身はインストールされていない状態です。 PEARを有効にするには、PHPインストールディレクトリの「go-pear.bat」をDOSプロンプトにて実行してください。 勝手に展開されて「PEAR/pear」ディレクトリに関連ファイルが展開されます。 上記作業が終了後、php.iniファイル内の「include_path」にPEARのパスが追加されているか確認してください。Smartyも動くようにしているとすると、以下のようになっています。 include_path=".;C:\Program Files\php-4.3.10-Win32\PEAR\pear;C:\Program Files\php-4.3.10-Win32\Smarty" !!PEARを使用したDB接続 "); exit(0); } $result = $db->query("select * from testtbl"); if($result) { while($row = $result->fetchRow()) { $cou = count($row); for($i = 0; $i < $cou; $i++) { print($row[$i]." "); } print("
\n"); } } $db->disconnect(); ?> 「require_once("DB.php");」にて、PEARのデータベース接続クラスを参照できるようにします。 DB::connectでデータベースの接続を行います。 はじめの「mysql」を変えることで他のDBにも拡張しやすいのが分かるかと思います。 PEARを使わない場合、「mysql_connect」「mysql_select_db」関数などを 使用していましたので簡略化されていて見やすいですね。 $db = DB::connect("mysql://$dbUser:$dbPass@$dbHost/$dbName"); $dbUserにデータベースにアクセスするユーザ名、$dbPassにパスワード、 $dbHostにホスト名(サーバから見たときのローカルだと'localhost')、 $dbNameに使用するデータベース名、を入れておきます。 成功すると、$dbにデータベースにアクセスするためのオブジェクトが返されます。 「DB::isError($db)」で接続が正常に行われていない状態を検出できます。 「$result = $db->query("select * from testtbl");」でテーブル「testtbl」の selectを行っています。 「$row = $result->fetchRow()」にて1行分のレコード情報を取り出します。 手順は、PEARを使用しないときと変わりませんね。 使い終わったら「$db->disconnect()」で接続を閉じます。 !!SQL文でのinsert/update/delete処理 select以外でも「$db->query」でデータベースを制御することができます。 $sql = "insert into testtbl set id=5,name='hoe'"; $db->query($sql); $sql = "delete from testtbl where id=10"; $db->query($sql); $sql = "update testtbl set name='hoe' where id=10"; $db->query($sql);