ネットサービスの開発に役立ちそうな話題を中心にお届けします。
F.Ko-Jiの「一秒後は未来」 > プログラミング > PDOでMTのSQLiteデータベースからデータを読み込む
2008年05月03日 01:01
1377日前に投稿

PDOでMTのSQLiteデータベースからデータを読み込む

  • ... PV
  • このエントリーをはてなブックマークに追加

スポンサード リンク

うちのブログは2008年5月3日現在、以下の環境で稼働しています。

  • レンタルサーバ: XREA
  • Movable Type 3.36
  • データベース: SQLite

PHPからMTのデータベースを操作してみようとしたのですが、 sqlite_open でデータベースファイルを開こうとすると、

file is encrypted or is not a database

とかエラーが出て、どうもSQLiteのバージョンが合っていない模様。MTのデータベースは sqlite3 のもの、sqlite_open で使われているのは sqlite2 っぽい。

phpinfo() で調べてみると PDO(PHP Data Objects)が SQLite3 に対応しているようなのでPDOを使ってみることにしました。

このブログは blog_id=2 で、公開中のエントリーは entry_status=2 を持っているようなので、次のように書けば公開中の全エントリーを取得できます。

<?php
$dsn = 'sqlite:/path/to/sqlite/database.db';
$pdo = new PDO($dsn);
$sql = "SELECT * FROM mt_entry WHERE entry_blog_id=2
    AND entry_status=2 ORDER BY entry_created_on";
$entries = $pod->query($sql);
while ($entry = $entries->fetch()) {
    // 処理を書く
}
?>

これまでPDOの存在に気づかなかったのでMTのデータベース操作を敬遠していたのですが、うちの環境の場合はPDOを使えばさくっと色々できそうです。

【参考サイト】
SQLiteについてのメモ書き - nitsujiの日記
PHP: PDO - Manual

スポンサード リンク

Written by
Meity.jp - Twitterなかまでプライベートなオフ会を開催したいなら


トラックバック

このエントリーのトラックバックURL:

プログラミング

English version

前のエントリー: « RSS関連の記事の中からおすすめ15個をピックアップ
次のエントリー: TwitterはRuby on Railsを放棄する予定はない(今のところ) »

コピペにご利用ください。

タイトル:

URL:

リンク用HTMLタグ: