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