2,043 views
この記事は最終更新から 2594日 が経過しています。
やってみたいこと
簡易データベースとしてSQLiteはとっても便利です。
ここではPHPからSQLiteを使って以下のことをやってみます。
(1) データベース作成
(2) データベース上にテーブル作成
(3) データベース上のテーブルへのデータ登録
(4) データベース上のテーブルからデータ参照
プログラム作成
今回作成するプログラムの仕様は以下の通り。
・SQLiteで作成したデータベース(以下DB)に、人名と登録日時を保存する。
・人名はWEBブラウザの引数 name で指定する。
・SQLiteの DBファイル名は mydb.db とする。
・登録完了後、新規登録した名前に自動付与されたIDを表示する。
・登録完了後、既存の全登録済みデータを表示する。
<!DOCTYPE html> <HTML> <HEAD> <META CHARSET="UTF-8" /> <TITLE>SQLiteサンプル</TITLE> </HEAD> </BODY> <?php $db_file_path = "mydb.db"; // SQLite DBファイル名 // 引数から新規登録名を取得 $name = $_GET['name']; // DBファイル存在確認 $isDbExist = file_exists($db_file_path); // DBオープン $db = new SQLite3($db_file_path); // DBは新規作成? if($isDbExist === FALSE){ // テーブル作成 (ID, 名前, 登録日時) $db->exec("CREATE TABLE mytbl (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, register DATETIME);"); } // 引数で指定された名前を新規登録 $dateTime = strftime(time()); $db->exec("INSERT INTO `mytbl` (name,register) VALUES('$name', '$dateTime');"); // 新規登録した名前に自動付与されたIDを表示 echo "New ID = ".$db->lastInsertRowID()."<br />"; // 既存の登録データを一覧表示 $result = $db->query("SELECT * FROM `mytbl`;"); while ($row = $result->fetchArray()) { echo "<hr />"; var_dump($row); } // DBクローズ $db->close(); ?> </BODY> </HTML>
実行サンプルはこちらです。
http://www.dogrow.net/php/sample/00004/?name=Jonny
データベースの削除方法は?
SQLiteではDBファイルを削除すればOKです。
すなわち、PHPプログラム中では以下のように書けばよいです。
unlink( "ファイル名" );