SQLiteな休日
1. データを書き込む

空のテーブルにデータを書き込みます。

<?php
$file = "./sqlite.db"; //データベースファイル定義
$data = sqlite_open("$file"); //オープン
$query = "insert into table1 values(null,'phpな猫の森','http://p-ho.net/photolog/')"; //クエリの定義
$result = sqlite_query ($data,$query); //実行
sqlite_close($data); //切断
?>

なお、データを書き込むにはファイル(sqlite.db)が書込可能になっている必要があります。
ファイルのパーミッションを変更しておいてください。
設定値はサーバーのマニュアル参照で。わからない場合はいつもの要領で 600・606・666 の順にお試しを。

書き込んだところで、2-2の方法で表示させてみます。

表示
2. データを追記する

さらにデータを一行追記します。

<?php
$file = "./sqlite.db"; //データベースファイル定義
$data = sqlite_open("$file"); //オープン
$query = "insert into table1 values(null,'phpな休日','http://p-ho.net/')"; //クエリの定義
$result = sqlite_query ($data,$query); //実行
sqlite_close($data); //切断
?>

SQL文は最初とまったく同じです。

表示してみます。

表示
3. フォームから追記する

フォームから追記できるようにします。

<?php
if (($_POST["pass"] == "hoge") && ($_POST["sitename"] != "") && ($_POST["url"] != "")) { //全てに入力があり、パスワードが正しければ
$sitename = $_POST["sitename"]; //POSTのデータを変数$sitenameに格納
if( get_magic_quotes_gpc() ) { $sitename = stripslashes("$sitename"); } //クォートをエスケープする
$sitename = htmlspecialchars ($sitename); //HTMLタグ禁止
$sitename = mb_strimwidth ($sitename, 0, 50, "", "UTF-8"); //長いデータを50バイトでカット
$url = $_POST["url"]; //POSTのデータを変数$urlに格納
if( get_magic_quotes_gpc() ) { $url = stripslashes("$url"); } //クォートをエスケープする
$url = htmlspecialchars ($url); //HTMLタグ禁止
$url = mb_strimwidth ($url, 0, 50, "", "UTF-8"); //長いデータを50バイトでカット
$file = "./sqlite.db"; //データベースファイル定義
$data = sqlite_open("$file"); //オープン
$query = "insert into table1 values(null,'$sitename','$url')"; //クエリの定義
$result = sqlite_query ($data,$query); //実行
sqlite_close($data); //切断
}
$file = "./sqlite.db"; //データベースファイル定義
$data = sqlite_open("$file"); //オープン
$query = "select * from table1 order by id desc limit 5"; //クエリの定義
$result = sqlite_query ($data,$query); //実行
print "<table border='1' cellspacing='0' cellpadding='4'>¥n";
print "<tr><td>id</td><td>sitename</td><td>url</td></tr>¥n";
while ($scan = sqlite_fetch_array ($result)) { //全ての行(レコード)を配列に入れる
print "<tr><td>" . $scan["id"] . "</td><td>" . $scan["sitename"] . "</td><td>" . $scan["url"] . "</td></tr>¥n";
}
print "</table>¥n";
sqlite_close($data); //切断
?>
<form method="POST" action=""><br />
サイト名<br />
<input type="text" name="sitename" size="50" /><br />
URL<br />
<input type="text" name="url" size="50" /><br />
パスワード<br />
<input type="password" name="pass" size="20" /><br />
<input type="submit" value="送信" /><br />
</form>

最新5行を降順(id)で表示するようにしました。
書込はパスワード制限してあります。

実行
2014.2.4 last edit

Produced by haku