2,503 views
この記事は最終更新から 2998日 が経過しています。
やってみたいこと
簡易データベースとして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( "ファイル名" );
アクセス数(直近7日): ※試験運用中、BOT除外簡易実装済2025-11-17: 0回 2025-11-16: 0回 2025-11-15: 0回 2025-11-14: 0回 2025-11-13: 0回 2025-11-12: 1回 2025-11-11: 0回