2008年11月7日金曜日

PEAR::DBからPEAR::MDB2 [SQL] [PHP]

CSVデータを読み込んで配列にし、エラーチェック後テーブルに挿入する、という管理ツールを作ることになって、これまでPEAR::DBを使っていたがPEAR::MDB2に乗り換えようと思い、今回試しに使ってみました。

データベースはmysql、言語はphp。

まずは接続。
$dsn = dbType://user:password@host/database
$mdb2 =& MDB2::factory($dsn);
$mdb2->setFetchMode(MDB2_FETCHMODE_ASSOC);

これでいいはずなのに全然接続できない。
調べてみたらmysql用のドライバーが必要ということでそれをダウンロードして再接続。
無事接続できたみたいだ。
http://pear.php.net/package/MDB2_Driver_mysql/

次にinsert。
これはPEAR::DBとほとんど同じだった。
## PHP5
$mdb2->loadModule('Extended');
$in_result = $mdb2->autoExecute($table, $data, MDB2_AUTOQUERY_INSERT);
## PHP4はこっち
$mdb2->extended->autoExecute($table, $data, MDB2_AUTOQUERY_INSERT);

最後に切断。
$mdb2->disconnect();

これからいろいろ使ってみよう。

(この作業中にDBに投入したデータが文字化けしてた。)
(その解消については次の記事に書く。)

[参考]

0 件のコメント:

コメントを投稿