!!!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 のソース。
{{ref  sqlite_For_5.3.3.zip}}

!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
{{ref SQLite-1.0.3.tgz}}

!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/
のそのまま
{{code Perl,2
<?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 が必要だともう。

使っていないので詳細不明




{{category2 プログラミング言語,PHP}}