pearのDBとMDB2の違い
PEARのDBがメンテナンスモードになったことにより、データベースを扱う次のデフォルトがMDB2になった。しかし使い方が若干違うので、主要な部分だけとりあえずメモ。1行目がDBで2行目がMDB2。
○読み込み
require(‘DB.php’);
require(‘MDB2.php’);
○接続(これはconnectでも動いているっぽい)
$db=& DB::connect($dsn);
$mdb2=& MDB2::factory($dns);
○データをフェッチするモードの設定
$db->setFetchMode(DB_FETCHMODE_ASSOC);
$mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);
○全行取得
$all = $db->getAll($sql);
$all = $mdb2->queryAll($sql);
○1つだけ取得
$one = $db->getOne($sql);
$one = $mdb2->queryOne($sql);
○1行取得
$row = $db->getRow($sql);
$row = $mdb2->queryRow($sql);
○連番取得(DBではカラムid、MDB2ではカラムsequenceを使う)
$db->nextId($table);
$mdb2->nextId($table);
○文字列のクオート
‘SELECT name FROM people WHERE id = ‘.$db->quoteSmart(1)
‘SELECT name FROM people WHERE id = ‘.$db->quote(1, ‘integer’)
参考:DB-2-MDB2