ロリポップでSQLite

2 月 26th, 2007 in Lolipop, PHP, Programming users

ロリポップのMySQLサーバーは重すぎで嫌だって人ののための,ロリポップでSQLiteを使うためのTips
(※07/05/02にロリポップがSQLiteに正式に対応しました.ロリポップでPHP拡張を扱う一般的な手法かと思うので残しておきます)

コンパイル

wget http://pecl.php.net/get/SQLite-x.x.x.tgz
 # 又は,pecl download sqlite
tar xzvf SQLite-x.x.x.tgz
cd SQLite-x.x.x
phpize
./configure
make
 # modules/sqlite.soが出来る

ロリポップで使う

if (!extension_loaded("sqlite")) {
 dl("sqlite.so");
}debug_zval_dump(sqlite_libversion());
debug_zval_dump(sqlite_libencoding());
$s = sqlite_open("weztest.sqlite", 0666, $err);
debug_zval_dump($err);
debug_zval_dump($s);
$r = sqlite_query("create table foo (a INTEGER PRIMARY KEY, b INTEGER )", $s);
debug_zval_dump(sqlite_last_error($s));
debug_zval_dump(sqlite_error_string(sqlite_last_error($s)));
$r = sqlite_query("select *, php('md5', sql) as o from sqlite_master", $s);
debug_zval_dump($r);
debug_zval_dump(sqlite_num_rows($r));
debug_zval_dump(sqlite_num_fields($r));
for ($j = 0; $j < sqlite_num_fields($r); $j++) {
 echo "Field $j is " . sqlite_field_name($r, $j) . "n";
}
while ($row = sqlite_fetch_array($r, SQLITE_ASSOC)) {
 print_r($row);
}
sqlite_close($s);

以下のように表示され,カレントディレクトリにweztest.sqliteが作成されれば勝ち組

string(6) "2.8.14" refcount(1)
string(7) "iso8859" refcount(1)
NULL refcount(2)
resource(2) of type (sqlite database) refcount(2)
long(0) refcount(1)
string(12) "not an error" refcount(1)
resource(4) of type (sqlite result) refcount(2)
long(1) refcount(1)
long(6) refcount(1)
Field 0 is type
Field 1 is name
Field 2 is tbl_name
Field 3 is rootpage
Field 4 is sql
Field 5 is o
Array
(
    [type] => table
    [name] => foo
    [tbl_name] => foo
    [rootpage] => 3
    [sql] => create table foo (a INTEGER PRIMARY KEY, b INTEGER )
    [o] => 2f5a980ca57765ddef1a9434c15d755f
)

ちなみにsoファイルを一箇所(例えばextensionsディレクトリ)にまとめたいときはこちら参照. 今回の手法は一般的にロリポップでPECLを使う際に適用できると思う.たぶん
そうそうSQLiteといえばこの本↓がおすすめかと.amazonで中見検索ができるので見てみてはいかがでしょうか.

SQLite入門 すぐに使える軽快・軽量データベース・エンジン

Price: ¥ 2,940 JPY

Lowest used price: ¥ 4,850 JPY

2 Responses to “ロリポップでSQLite”

  1. reality kings より:

    Amazing article, its true, im sure that you have really really true…

  2. interesting blog, bookmarked for the future referrence, what template do you use ?

Leave a Reply

Recent Posts

よく考えたらこれでいいじゃん http://bit.ly/bsxqE0 MapperとReducer別々にしないとReflection走るな RT @making: multimethodでたくさん書くのが面倒だからこんなマクロ作った http://bit.ly/bsxqE0
* 10年03月11日03時09分

@junkawamoto うお、おれ明日源泉徴収票届く予定w
* 10年03月11日01時55分

@ryushi スプライシングクオートは楽して大量にS式を自動生成したいときに結構使います。よく入力をmapでごにょごにょ加工して~@したり。 単純な例だとこんなことができます http://gist.github.com/328042
* 10年03月11日01時48分

» Twitter

Search

ドミノ・ピザ 5%OFF!

デル株式会社

 iTunes Store(Japan)

 iTunes Store(Japan)

Sony Style(ソニースタイル)

ツートップインターネットショップ(twotop.co.jp)

Recommend

アルゴリズムC++
アルゴリズムC++
¥ 7,980(新品) /¥ 5,100(中古)
データ構造・アルゴリズムの基礎に関して
一通り網羅されている.
一冊机の上に置いておきたい.
C++で書かれているのも珍しい
(古いC++だけど..)

view all

Categories

Tags