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