<?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
<?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コマンド);