最新記事
(06/29)
(06/04)
(06/03)
(05/30)
(05/28)
|
ニュース
この欄には、このブログの内容に関連するニュースを掲載する予定です。
|
PHP+SQLite データベースの作成
SQLiteは1つのデータベースが1つのファイルに対応します。そして、そのファイルをコピーすれば、別のマシンで動かすことができます。
ということは、データベースファイルやテーブルの作成はローカルで行っておき、データベースの構造やマスターデータが整った段階で、WEBサーバーにアップロードするという方法をとることができます。
別にWEBサーバー上でデータベースの構造を作ってもかまわないのですが、そのためのスクリプトをWEBサーバーに残しておくと、悪意の第三者に利用される危険性があると思います。
さて、SQLiteデータベースのスタートはデータベースファイルを作成するところから始まります。データベースファイルの作成といっても大げさなものではなく、単にサイズ0バイトのファイルをつくるだけです。
SQLiteのファイルは拡張子がなくてもかまいません。拡張子をつけた場合は、その拡張子も含めて、データベース名になります。
単にサイズ0バイトのファイルを作ればいいだけなので、別にPHPでスクリプトを記述しなくてもいいのですが、あえて記述すれば次のような感じになります。
[ソース]SQLiteデータベースの作成 create_database.php
「sqlite_open」は、SQLiteデータベースをオープンする関数ですが、該当する名前のデータベースが存在しない場合には、新しくその名前でデータベースを作成します。成功した場合にはリソース番号、失敗の場合にはFALSEを返します。
ということは、データベースファイルやテーブルの作成はローカルで行っておき、データベースの構造やマスターデータが整った段階で、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