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

インストール

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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-04-02 (水) 15:06:19 (4249d)