- 追加された行はこの色です。
- 削除された行はこの色です。
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();