忍者ブログ
バナヤンの忍者風呂
忍者ブログのカスタマイズ、各種WEBツールのテストなど試行錯誤の日々。 VMLによる地図の作成を研究していましたが、一時中断して、今はPHPを勉強しているところです。
ニュース
この欄には、このブログの内容に関連するニュースを掲載する予定です。
お知らせ
この欄には管理人からのお知らせなどを掲載します。
[53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63]

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PHP+SQLite データベースの作成

SQLiteは1つのデータベースが1つのファイルに対応します。そして、そのファイルをコピーすれば、別のマシンで動かすことができます。

ということは、データベースファイルやテーブルの作成はローカルで行っておき、データベースの構造やマスターデータが整った段階で、WEBサーバーにアップロードするという方法をとることができます。

別にWEBサーバー上でデータベースの構造を作ってもかまわないのですが、そのためのスクリプトをWEBサーバーに残しておくと、悪意の第三者に利用される危険性があると思います。

さて、SQLiteデータベースのスタートはデータベースファイルを作成するところから始まります。データベースファイルの作成といっても大げさなものではなく、単にサイズ0バイトのファイルをつくるだけです。

SQLiteのファイルは拡張子がなくてもかまいません。拡張子をつけた場合は、その拡張子も含めて、データベース名になります。

単にサイズ0バイトのファイルを作ればいいだけなので、別にPHPでスクリプトを記述しなくてもいいのですが、あえて記述すれば次のような感じになります。

[ソース]SQLiteデータベースの作成 create_database.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Pragma" content="no-cache">
<title>sqlite_open</title>
</head>
<body>
<h1>SQLite データベース作成</h1>
<p>新しいSQLiteデータベースを作成します。データベース名を入力して下さい。</p>
<form method='post' action="<?= $_SERVER[PHP_SELF] ?>">
DatabaseName:<input type='text' name='dbname' value="<?= $_POST['dbname'] ?>">
<input type='submit' value='作成'>
</form>
<?php
if($_POST['dbname']){
if(file_exists($_POST['dbname'])) {
echo "同じ名前のファイルが存在します。
新しくデータベースを作成するには、別の名前にして下さい。";
} else {
$db = sqlite_open($_POST['dbname']);
if($db){
echo "データベース[".$_POST['dbname']."]を作成しました。";
}else{
die("データベースオープンエラー:");
}
}
}
?>
</body>
</html>


「sqlite_open」は、SQLiteデータベースをオープンする関数ですが、該当する名前のデータベースが存在しない場合には、新しくその名前でデータベースを作成します。成功した場合にはリソース番号、失敗の場合にはFALSEを返します。
PR
QRコード
忍者ブログ [PR]
Copyright (C) 2006 banayan ALL RIGHTS RESERVED.