SQLite は、サーバとしてではなくアプリケーションに組み込まれて利用される軽量のデータベースです。
ここでは、PHP から SQLite を操作することを前提にしています。
注意 | PDO は SQLite3 以上でないと対応していません |
---|
テーブルの作成には PHP関数の sqlite_query を使います。
■概要
sqlite_query – 指定したデータベースに対してクエリを実行し、結果ハンドルを返す |
---|
■説明
sqlite_query ( resource dbhandle, string query [, int result_type [, string &error_msg]] ) |
---|
SQLite データベースリソース
実行するクエリ
オプションのresult_typeパラメータには定数を指定でき、返される配列の添字を定義します。SQLITE_ASSOC を用いると、連想配列の添字(名前フィールド)のみが 返されます。一方、SQLITE_NUM は、数値の添字(フィールド番号)のみを返します。SQLITE_BOTH は、連想配列の添字と数値の添字の両方を返します。SQLITE_BOTH がこの関数のデフォルトです。
もしエラーが発生した場合、ここに保存されます。SQL構文のエラーは sqlite_last_error() 関数で取得することができないため、このパラメータが特に重要となります。
■返り値
この関数は結果ハンドル、もしくは失敗時に FALSE を返します。 レコードを返すクエリの場合、結果ハンドルは sqlite_fetch_array() や sqlite_seek()のような関数で使用することができます。
■記述例
$sql = "create table tablename (id int, name varchar(10))"; sqlite_query($link, $sql, SQLITE_BOTH, $sqliteerror);
■実行例
<html> <head><title>SQLite TEST</title></head> <body> <?php $dbh = sqlite_open('test.db', 0666, $sqliteerror); if ( ! $dbh) { die('接続失敗...'.$sqliteerror); } echo '接続に成功!<br>'; // クエリ実行 $sql = "create table tablename (id int, name varchar(10))"; $res = sqlite_query($dbh, $sql, SQLITE_BOTH, $sqliteerror); if ( ! $res) { die('クエリー失敗...'.$sqliteerror); } else { echo 'クエリー成功!<br>'; } // 切断 sqlite_close($dbh); echo '切断しました。<br>'; ?> </body> </html>
カラムの型を以下のように指定する
INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT
SQLiteManager という便利なツールもあります。