1. 何爲PDO?php
<?php
$cat = isset ($_GET['cat']) ? $_GET['cat'] : "1";
$pg = isset ($_GET['pg']) ? $_GET['pg'] : "1";
$limit = 10;
$dbname = 'shelf.sqlite';
try {
$db = new PDO("sqlite:" . $dbname);
$sth = $db->prepare('select * from book where cat_id=:id limit :offset, :limit', array (
PDO :: ATTR_CURSOR => PDO :: CURSOR_FWDONLY
));
$result = $sth->execute(array (
':id' => $cat,
':offset' => ($pg -1) * $limit,
':limit' => $limit
));
$list = array ();
$query = $db->query('select count(*) from book where cat_id=' . $cat)->fetch(); //Only 1 row
$list["count"] = $query[0];
if ($result) {
while ($row = $sth->fetch(PDO :: FETCH_ASSOC)) {
$list["books"][] = $row;
}
} else {
print_r($db->errorInfo());
}
$db = NULL;
echo str_replace('\\/', '/', json_encode($list));
} catch (PDOException $ex) {
print_r($ex);
}
?>
$query=$db->prepare('select * from book where cat_id=:id limit :offset, :limit', array (
PDO :: ATTR_CURSOR => PDO :: CURSOR_FWDONLY
));
<?php
$db = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
//使用新創建的數據庫鏈接。
//... ...
//鏈接在PDO實例的生命週期裏是活動的。使用完畢後應當關閉此鏈接,若不這樣作PHP在代碼結束時才關閉此鏈接,將佔用一部份內存。
$db = null;
?>