PEARのマニュアルに書いてあるようにDBは後続版のMDB2を使用するのが吉らしい。 インストール †# pear install MDB2 各データベースのドライバは別途インストールが必要 # pear install MDB2#pgsql # pear install MDB2#mysql 確認 # pear list MDB2 2.4.1 stable MDB2_Driver_pgsql 1.4.1 stable DBとの比較 †require_once('DB.php'); require_once('MDB2.php'); $dsn = 'pgsql://username:password@hostspec/database'; // 接続 $db = DB::connect($dsn); $mdb2 = MDB2::factory($dsn); // 連想配列で取得 $db->setFetchMode(DB_FETCHMODE_ASSOC); $mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC); // モジュールを使用 getAll, autoExecute etc... $mdb2->loadModule('Extended'); // クエリ実行とデータ取得 $rec = $db->getAll('SELECT * from TABLE'); $rec = $mdb2->queryAll('SELECT * FROM table'); // プリペアドステートメントを使用する場合 $rec = $db->getAll('SELECT * FROM table WHERE string = ?', array($string)); $rec = $mdb2->extended->getAll('SELECT * FROM table WHERE string = ?', NULL, array($string), array('text')); // SELECT実行 $res = $db->query('SELECT * FROM table'); $res = $mdb2->query('SELECT * FROM table'); // トランザクション開始 $db->autoCommit(FALSE); $mdb2->beginTransaction(); // INSERT, UPDATE, DELETE実行 $res = $db->query('UPDATE table SET string = ?', $string); $res = $mdb2->exec('UPDATE table SET string = '.$mdb2->quote($string, 'text')); // 現在のID $id = $mdb2->currID('seq'); // コミット $db->commit(); $mdb2->commit(); // ロールバック $db->rollback(); $mdb2->rollback(); // 開放 $res->free(); $res->free(); |