PEARのマニュアルに書いてあるようにDBは後続版のMDB2を使用するのが吉らしい。~
DBを使用していればそれほど混乱せずに利用できるよ。

*インストール [#hd53a6ab]
 # 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との比較 [#r9cb75af]

 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();

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS