PEAR の MDB2のインストール

PHPMySQL の接続には今まで PEAR:DB を使っていたのですが、 PEAR:DB のページには「変わりに MDB2 を使ってね。」という事が書かれていたので、PEAR:MDB2 を使ってみたいと思います。

PEAR:MDB2 のページのイストール手順の通りに

# pear install MDB2
# pear install MDB2#MySQL

としましたが、

pear/MDB2_Driver_mysql requires PHP extension "mysql"

というエラーが出ていました。よく考えたら、PHPmysql モジュールをインストールしていなかったので

# yum install php-mysql

として、モジュールをインストールしました。その後に

# pear install MDB2#MySQL

としたら、インストールに成功しました。


そして、MDB2 の動作確認をするためのテストテーブルを作成しました。

mysql> CREATE TABLE HOGE (id INT );
mysql> INSERT INTO HOGE VALUES (1);
mysql> INSERT INTO HOGE VALUES (123);


次に MDB2 の接続テストをするためのプログラムを作成します。

<?php
require_once 'MDB2.php';

$dsn = 'mysql://USERNAME:PASSWORD@localhost/DBNAME';
$options = array(
    'debug' => 2,
    'result_buffering' => false,
);

$mdb2 =& MDB2::factory($dsn, $options);
if (PEAR::isError($mdb2)) {
    die($mdb2->getMessage());
}

$res =& $mdb2->query('SELECT * FROM HOGE');

if (PEAR::isError($res)) {
    die($res->getMessage());
}

while (($row = $res->fetchRow())) {
    echo $row[0] . "\n";
}

$mdb2->disconnect();
?>

このプログラムを実行すると、

1
123

先ほどデーターベースに登録してデータが表示されます。
これで、データーベースに正しく接続されている事が確認できました。