読者です 読者をやめる 読者になる 読者になる

txtSQL使ってみた

MOONGIFT-凄いテキストデータベース「txtSQL」
ってあったのでダウンロードしてためしてみました。
PHPのみで動くデータベースエンジン。

とりあえずダウンロード

txtSQL - Flatfile PHP Database
http://txtsql.sourceforge.net/site/

設置&管理ツール(txtSQLAdmin)

設置してみます

ダウンロードしたファイルをとりあえず展開して適当なディレクトリにおきます。
中身はこんな感じ

/example/	サンプルとか
/data/		初期に使われるデータ保存ディレクトリ
/docs/		ヘルプみたいのとかドキュメント
txtSQL.class.php
管理ツールにアクセスしてみる

展開したファイルの/examples/txtSQLAdminが管理ツールになっているのでアクセスします。
※すべて相対で記述されているので特に設定は必要なし

ローカルの環境では、PHP5でエラーレベルをE_STRICTモードで動かしていたので、
Strict Standardsが出力されていた。なので.htaccessでとりあえずE_ALLにレベルを落として表示させなくしました

php_value error_reporting 2047

DB作ってみる

管理ツールからとりあえずテーブルつくってみます

デフォルトは[ID:root PASS:無し]

DBを作ります

ここではDB名を「test」にしています

DBだけだとあれなので、テスト用テーブル作ります
先にカラムの数を指定しておく必要があるので、とりあえず2で。
テーブル名は「test_tbl」にしてみました


テーブルの中身を決めます。内容は

primary column type auto_increment
id Integer
- txt Text -

にしました

PHPからアクセスしてみる

とりあえず接続〜DB選択までのコード

<?php
define('TXTSQL_CORE_PATH', 'C:\test\include');//【1】
require_once('txtSQL.class.php');//【2】
$sql = new txtSQL(TXTSQL_CORE_PATH.'/data');//【3】
$sql->connect('root', '');//【4】
$sql->selectdb('test');//【5】

【1】txtSQL.class.phpを相対で読み込む場合意外にはtxtSQL.class.phpのあるディレクトリを定義しておく
【2】txtSQL.class.phpよみこむ
【3】コネクターの生成。引数はデータのディレクトリ
【4】接続
【5】DBの選択

INSERT

INSERTはこんな感じ。DB、TABLEと値のリストを指定します

<?php
$sql->insert(array(
	'db'     => 'test',
	'table'  => 'test_tbl',
	'values' => array(
		'txt' => 'テスト!!!'
		)
	));
SELECT

SELECTはこんな感じ。idが5以下のものって条件つけてます。
同じ感じでlimitとかも設定できます。

<?php
$result = $sql->select(array(
        'db'    => 'test', 
        'table' => 'test_tbl',
        'where' => array('id <= 5')
        ));
foreach( $result as $_resultItem ){
	echo $_resultItem['id'];
	echo $_resultItem['txt'];
	echo '<BR />';
}
DELETE

削除。SELECTと同じ感じでwhereとかつけられます。

<?php
$sql->delete(array(
        'db'    => 'test', 
        'table' => 'test_tbl',
        ));


UTF-8で動かしてましたが日本語も問題なくいけました
DBをいれられない環境なんかにはいいかもですね。