PHPプログラミング

ベストプラクティス

データベース SQLite

SQLite3を使ってをデータベースへ接続

  • このエントリーをはてなブックマークに追加

SQLiteバージョン3のデータベースへ接続する方法を解説。

目次

  1. #  SQLiteのデータベースへ接続する
  2. #  SQLite3データベースへの接続方法
  3. #  データベースへの接続方法

SQLiteのデータベースへ接続する

SQLiteの公式ロゴ

SQLiteは名前に「ライト」が付く通り、軽量なデータベースです。
RDBMS(Relational DataBase Management System)のようにサーバー側でデータベースサーバーを起動して動作するものではなく、単一のファイルへアクセスする形で使用します。
このような特徴から、スマホのアプリにも組み込まれて使われることが多いデータベースです。

軽量とはいえ、一般的なSQLは実行することができ、トランザクションもサポートするなど、データベースの持つべき機能は一通り備えています。
「型」などは少し緩く癖がありますが、他のデータベースを使ったことがあればすぐに慣れると思います。

iOSやAndroidアプリに組み込まれて使用することもあるため、一度扱い方を知っておくとPHP以外でも使うシーンがあって便利かも。

SQLite3データベースへの接続方法

SQLiteはファイルベースのため、データベースへのアクセス方法もファイルのようにパスを指定します。
例えば、「db」ディレクトリ内の「test.sqlite3」というデータベースにアクセスしたい場合は次のようになります。

$db = new SQLite3("./db/test.sqlite3");

$dbに接続したデータベースのオブジェクトが格納されるので、このオブジェクトを使って各種データベースの処理を実行します。

もし「test.sqlite3」が存在しない場合は、その名前で新しくデータベースが作成されます。
しかし、指定したディレクトリが存在しない/アクセスできない場合はエラーになります。

Note

SQLite3クラスはSQLiteバージョン3系列でのみ使用可能です。もしお使いの環境にインストールされたSQLiteのバージョン2が以前の場合はSQLiteクラスを使ってください。

データベースへの接続方法

test」テーブルが存在すると仮定し、登録された全データを取得して出力するコードを実行してみましょう。

コード

<?php
// 変数の初期化
$db = null;
$sql = null;
$res = null;
$row = null;

$db = new SQLite3("./db/test.sqlite3");

// データの取得
$sql = 'SELECT * FROM test';
$res = $db->query($sql);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>SQLite テスト</title>		
</head>
<body>
<?php 
while( $row = $res->fetchArray() ) {
	echo '<p>' . $row[0] . '</p>';
}
?>
</body>
</html>

データを取得するSQLは一般的なSELECT文を使います。
取得したデータは$resへ格納されるので、その後にwhile文の中でデータを1件ずつ取得して出力するというコードです。

以上、SQLite3を使ったSQLiteデータベースへの接続方法でした。

  • このエントリーをはてなブックマークに追加