戻る トップ今日からつかえるPHP5サンプル集

PHP4で使うSQLite

PHP5には、SQLiteというファイルベースのデータベースが標準で付いてきます。このSQLiteは、ファイルベースなので管理しやすく手軽に使える利点があります。さらに、PHP4にも追加インストールできるため、レンタルサーバーによっては、PHP4の環境でも使える状態になっているようです。
実際に調べてみると、私が使っているPHP4使用可能な他のレンタルサーバーでもSQLiteが使えるようでした。そのサーバーは、MySQL対応でもあるのですが、MySQLを使うと追加料金を取られます。もし、うまくSQLiteが使えれば、追加料金なしでSQLで操作できるデータベースを使えるようになるかも……。
そう思って、実際にSQLietが使えるのか、またどんな感じで使うことになるのか、早速実験してみました。

SQLiteの操作

調べてみると、SQLite関連の情報はPHP5のものばかりでPHP4ベースの例がほとんどなく不安だったのですが、結果的にはプログラム自体は「PHP5と同じ」で良いようです。sqlite_*といったSQLite用関数も、リファレンスでは「PHP5」となっているものの、PHP4でも使えました。
私が行った実験は、以下の通りです。

まず、PHPファイルとSQLiteのデータベースを置くために書き込み属性を付加したディレクトリを作ります。そして、そこに「SQLiteのデータベースファイルtest.dbを作成し、表を作ってデータをINSERTする」以下のようなスクリプトを配置。

データベース作成スクリプト
<html>
<body>

<?
$db = sqlite_open ("test.db");

sqlite_query($db, "CREATE TABLE test_tbl (no INTEGER, name VARCHAR(32), url VARCHAR(32))");

sqlite_query($db, "INSERT INTO test_tbl (no, name, url) VALUES(1, 'name1', 'url1')");

sqlite_query($db, "INSERT INTO test_tbl (no, name, url) VALUES(2, 'name2', 'url2')");

sqlite_close($db);
?>

</body>
</html>

FTPでサーバーに転送して実行してみると……無事ファイルtest.dbが作成されました。その内容を見てみて、それらしき文字列も確認。続いて、実際にテーブル構造が作成されたか見るために、データベースの中身を一覧表示するスクリプトを作成しました。

テーブル内容一覧表示スクリプト
<html>
<body>

<pre>
<?
$db = sqlite_open ("test.db");

$tbl = sqlite_query($db, "SELECT * FROM test_tbl");

while ($item = sqlite_fetch_array($tbl)) {
	print $item["no"]."-".$item["name"]."-".$item["url"]."\r\n";
}

sqlite_close($db);
?>
</pre>

</body>
</html></pre>

このスクリプトは、「test.dbをオープンし、テーブルtest_tblの全内容を取得、取得した内容を1件ずつ表示」するスクリプトですが、これを実行すると、無事先ほどデータベース作成スクリプトで書き込んだはずの内容が表示されました。

というわけで、「追加料金なしでSQLデータベース使用計画」も、とりあえず使用できるか確認する第一段階は成功です。SQLiteは、普通にSQLで操作でき性能も高いようなので、何を作るか、考えることにしましょう。

ざっと見た感じでは、「SQLiteが使えるPHP4環境を提供するレンタルサーバー」は、いくつかあるようですね。無料サーバーにも、一つ見つけました。もし、使っているレンタルサーバーが「データベース非対応」としていても、よく調べればSQLiteが入っているかもしれません。
もし入っていたら、「データベースを使ったWebアプリケーション」に挑戦してみてはいかがでしょうか。


トップ 戻る