PHPプログラミング

最終更新日:
公開日:

レシピ

データベース SQLite

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

SQLiteバージョン3のデータベースへ接続する方法について解説します。

この記事のポイント

  • PHPからSQLiteデータベースに接続する
  • とりあえず簡単なSQLを実行してみる

目次

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データベースへの接続方法でした。

こちらの記事は役に立ちましたか?

ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。

コメントありがとうございます!
運営の参考にさせていただきます。