SQLite 関数 直接操作
Windows & PHP5
PHP5はSQLiteが標準で使える。
○PHP.ini の編集
Windows 版では PDO も有効にする必要があります。PHP 5.1.0 以降、 PDO に依存するようになったからです。
extension=php_pdo.dll extension=php_sqlite.dll を加える(順序関係あり)
○実行
php test.php
Linux & PHP4
○SQLiteのインストール
pear install sqlite
○PHP.ini,php-cli.iniの編集
extension=sqlite.so を加える
○実行
php test.php
Linux & PHP5 & sqlite2
1.yumでphp-develをインストールする
# yum install php-devel
2.sqliteのソースをダウンロードする
gitリポジトリからバージョンに合ったPHPのソースからsqlite2のソースをコピーする。
http://git.php.net/?p=php-src.git;a=tags
解凍したディレクトリの
ext/sqlite
が sqlite2 のソース。
sqlite_For_5.3.3.zip(734)
3.コンパイルとインストール
# cd ext/sqlite # phpize # ./configure # make
手動でsqlite.so を移動するか
# make install
これで/usr/lib64/php/modules(32bitは、/usr/lib/php/modules)にsqlite.soがコピーされる
4.phpの設定を編集する
# vi /etc/php.d/sqlite2.ini
以下の内容を記載する
extension = sqlite.so
Linux & PHP5 & sqlite2 (古いやり方)
http://rvrsti.blog.so-net.ne.jp/archive/c10363734-1
1.yumでphp-develをインストールする
# yum install php-devel
2.sqliteのソースをダウンロードする
# wget http://pecl.php.net/get/SQLite-1.0.3.tgz
SQLite-1.0.3.tgz(456)
3.ソースを展開して、環境を設定する
# tar xzf SQLite-1.0.3.tgz # cd SQLite-1.0.3 # phpize # ./configure
4.このままだとmakeでエラーになるので一部修正
# vi sqlite.c
56行目 static unsigned char arg3_force_ref[] = {3, BYREF_NONE, BYREF_NONE, BYREF_FORCE }; ->行を削除 //でコメントアウトでOK
125行目 PHP_FE(sqlite_open, arg3_force_ref) ->arg3_force_refを third_arg_force_refに変更 PHP_FE(sqlite_open, third_arg_force_ref)
126行目 PHP_FE(sqlite_popen, arg3_force_ref) ->arg3_force_refを third_arg_force_refに変更 PHP_FE(sqlite_popen, third_arg_force_ref)
5.コンパイル、インストール
# make
手動でsqlite.so を移動するか
# make install
これで/usr/lib64/php/modulesにsqlite.soがコピーされる
6.phpの設定を編集する
# vi /etc/php.d/sqlite.ini
以下の内容を記載する
extension = sqlite.so
コード
http://study.rakuto.net/php/sqlite/sqlite_step/
のそのまま
1 |
<?php $sqliteerror = null; /* SQLiteハンドルの取得 */ $dbh = sqlite_open('test.db', '0666', $sqliteerror); /* テーブルの作成 */ /* idをプライマリ宣言し自動シーケンス */ $query = <<<QUERY CREATE TABLE account_tbl ( id INTEGER, number INTEGER, name VARCHAR(64) NOT NULL, email VARCHAR(128), PRIMARY KEY (id) ); QUERY; $result = sqlite_query($query, $dbh); /* ステートメントの生成 */ $query = "INSERT INTO account_tbl (number,name,email) VALUES ". "('30248','高橋','yujiro@rakuto.net') "; $result = sqlite_query($query, $dbh); $query = "INSERT INTO account_tbl (number,name,email) VALUES ". "('45567','藤井','fuzy@rakuto.net') "; $result = sqlite_query($query, $dbh); /* データの取得 */ $result = sqlite_query('SELECT * FROM account_tbl', $dbh); $cols = array(); while ($cols = sqlite_fetch_array($result, SQLITE_ASSOC)) { echo "----------------------n"; echo "id = {$cols['id']}n"; echo "number= {$cols['number']}n"; echo "name = {$cols['name']}n"; echo "email = {$cols['email']}n"; echo "----------------------n"; } /* ステートメントの開放 */ $result = null; ?> |
PDO
5.3.3以降
一番メジャーな方法。
PHP5.3.3以上ならば、標準でPDOが使えるはず。
もし使えない場合は、
/etc/php.d/pdo.ini /etc/php.d/pdo_sqlite.ini
等の設定を見直す。
5.3.3以前
http://codezine.jp/article/detail/433
PDOはPHP 5.1から標準で搭載されるようになりました。使用しているPHPのバージョンが5.1以降ならば、以下の設定を「php.ini」に追加するだけでPDOを利用することができます。
UNIX系の場合
extension=pdo.so extension=pdo_mysql.so extension=pdo_pgsql.so extension=pdo_sqlite.so extension=pdo_firebird.so extension=pdo_dblib.so extension=pdo_oci.so
Windowsの場合
extension=php_pdo.dll extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll extension=php_pdo_oci.dll extension=php_pdo_oci8.dll extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll
もし、PDOのモジュールがインストールされていない場合でも、以下のコマンドで簡単にインストールすることができます。
pecl install pdo
以下のコマンドを使い、個別のPDOドライバをインストールすることもできます。
pecl install pdo_driver pecl install pdo_pgsql
MDB2
インストール
本体
pear install pear/MDB2
ドライバ
pear/MDB2_Driver_sqlite
など。
sqlite.so がインストールされていないとドライバをインストール出来ない。
MDB
本体
pear install pear/XML_Parser pear install pear/MDB
使ったことがないのでこれ以上は不明
DB
本体
pear install pear/DB
ドライバ
php-mysqlとかphp-pgsqlとか sqlite が必要だともう。
使っていないので詳細不明
[カテゴリ: プログラミング言語 > PHP]
[通知用URL]
Tweet
最終更新時間:2013年06月19日 22時19分55秒