PEAR のインストール PEAR を使用した DB 接続

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
¥Smarty"
Files¥php-4.3.10 -Win32 ¥PEAR¥pear;C:¥Program
Files¥php-4.3.10 -Win32
PEAR を使用した DB 接続
<?php
require_once("DB.php");
$dbUser
$dbPass
$dbHost
$dbName
=
=
=
=
// PEAR の DB クラスを参照
"user1";
"hoehoe";
"localhost";
"testDB";
$db = DB::connect("mysql://$dbUser:$dbPass@$dbHost/$dbName");
if(DB::isError($db)) {
print("db connect error!<br>");
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("<br>¥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 に使用するデータベース名、を入れておきま
1
す。成 功 す る と、$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);
2