2008年9月21日日曜日

簡単なPDOのサンプル(改)

スズキです。

以前紹介した「簡単なPDOのサンプル」をちょっと深めました。
http://suz-lab.blogspot.com/2008/09/pdophp.html

今回は、機能ごとにファイルを分けて、
require_onceで取り込んでいます。

また、データ削除をテーマに、
PDOのprepare、bindValue、executeも使っています。

要は、GETパラーメータで与えられたidのデータを削除して、
削除後のデータリストを取得&JSONで表示しているのもが
下記のdelete-hoge.phpとなってます。

-------- header-cache.php
<?php
header("Expires: Thu, 01 Dec 1994 16:00:00 GMT");
header("Last-Modified: ". gmdate("D, d M Y H:i:s"). " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>
-------- connect-db.php
<?php
$dbs = "sqlite:hoge.db";
$user = "";
$pass = "";
$dbh = new PDO($dbs, $user, $pass);
?>
-------- select-hoge.php
<?php
require_once "connect-db.php";
require_once "header-cache.php";
$sql = <<< SQL
SELECT *
FROM hoge
SQL;
$stmt = $dbh->query($sql);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
print(json_encode($result));
?>
-------- delete-hoge.php
<?php
require_once "connect-db.php";
require_once "header-cache.php";
$sql = <<< SQL
DELETE FROM bmi
WHERE id = :id
SQL;
$stmt = $dbh->prepare($sql);
$stmt->bindValue(":id", $_GET["id"]);
$stmt->execute();
require_once "delete-hoge.php";
?>

とりあえず、1日1エントリのノルマは達成…

--
http://suz-lab.blogspot.com/

0 コメント: