SQLite

書き込みCGI例
schedule.sqliteデータベースのscheduleテーブルにFormデータを挿入するCGIの例です。Formには、year, month, day, hour, minute, memo が必要です。
 .sqlite_escape_string() で文字列をUTF8に変換します。
<?php
$db=sqlite_open("schedule.sqlite",0666,$err);
$s_date=$_POST['year'].
 "/".$_POST['month'].
 "/".$_POST['day'];
$s_time=$_POST['hour'].
 ":".$_POST['minute'];
sqlite_query($db,"INSERT INTO 
 schedule(title,s_date,s_time,memo) 
 VALUES('".sqlite_escape_string($_POST['title']).
  "','".sqlite_escape_string($s_date).
  "','".sqlite_escape_string($s_time).
  "','".sqlite_escape_string($_POST['memo'])."')");
sqlite_close($db);
header("Location: schedule_record.php");
?>

SQLiteとは
 SQLiteは1ファイルのデータベースです。テーブルは複数作成できますから、テーブルにまたがった処理は可能です。ただし、各テーブルへのアクセス権の設定はできません。また、データ型の指定はいりません。SQLiteの文字コードはutf8です。
 処理をするSQLコマンドの形式は同じです。PHP5には組み込まれていますから、設定の変更は不要です。10万件程度の利用なら、SQLと同程度に利用できるようです。

データベースの作成
 データベースの作成はコマンドベースで行います。Sqlite のシステム(sqlite2)をダウンロードし、コマンドプロンプトで起動します。(PHPでのSQLiteは2版です)
>sqlite2 ex.sqlite
これでデータベースファイルを作成します。パスを指定しない場合、sqlite3.exeのフォルダに作成します。次にコラムを指定してテーブルを作成します。
sqlite>create table person(id,name);
データを挿入します。
sqlite>insert into person values('1','mk');
データを表示します。
sqlite>select * form person;
終了は
sqlite>.quite

注:公式サイトのsqlite2のリンクはありません。下記のURLでダウンロードできます。http://www.sqlite.org/sqlite-2_8_17.zip

記録を読み取るCGI例
sqlite_query()でselectコマンドを出し、$rsに読み取ります。このとき、 order で読み取りの順をs_dateで指定しています。$rs より、sqlite_fetch_array($rs) で、項目別に読み取り表に埋め込みます。
<?php
$db=sqlite_open("schedule.sqlite",0666,$err);
$rs=sqlite_query("SELECT * FROM schedule 
  ORDER BY s_date,s_time",$db);
?>
<html>
<head></head>
<body>
<h1 ">スケジュール</h1>
<table border="1">
<tr>
  <th>日付</th><th>時刻</th>
  <th>予定名</th><th>備考</th><th>削除</th>
</tr>
<?php while($row=sqlite_fetch_array($rs)){ ?>
  <tr>
  <td><?php print($row['s_date']); ?></td>
   <td><?php print($row['s_time']); ?></td>
  <td><?php print($row['title']); ?></td>
  <td><?php print($row['memo']); ?></td>
   <td>
   <input type="button" value="削除"
    onclick="location.href=
    'schedule_delete.php?sid=
    <?php print($row['sid']); ?>'" /></td>
    </tr>
<?php
}
sqlite_close($db);?>
</table>
</body>
</html>

PHPからの利用
まず、dbファイルを開きます。
$db = sqlite_open(データベース名,0666,$err););
0666はLinux版で必要なモードです。$err はエラー情報を記録する変数です。
後は、SQLコマンドを用いて、$db にアクセスします。
 sqlite_query($db,SQLコマンド);