最近花了10多天重新寫了泡菜博客,採用了PHP5+SQLITE技術。原因是MYSQL管理非常麻煩,而且還要花錢另外買資料庫。
sqlite 是一款輕量級的、基於文件的嵌入式資料庫,2000年就已經誕生,經過7年多的發展,直到今天已經成為最流行的嵌入式資料庫,包括Google在內的公司在其桌面軟體中也使用sqlite 儲存用戶資料。由此可以看出,已經沒有任何理由去懷疑sqlite的穩定性了。 (此段載自藍雨設計)
那麼如何在PHP5中使用呢?PHP5中有2種連接sqlite的方法。一種是預設提供的,另一種是PDO類別。預設的只支援sqlite2,但是PDO可以間接支援sqlite3。下面是我寫的簡單的PDO類別可以相容2個版本。
以下為引用的內容:
class SQLite{
function __construct($file){
try{
$this->Connection=new PDO('sqlite2:'.$file);
}catch(PDOException $e){
try{
$this->Connection=new PDO('sqlite:'.$file);
}catch(PDOException $e){
exit('error!');
}
}
}
function __destruct(){
$this->Connection=null;
}
function Query($SQL){
return $this->Connection->Query($SQL);
}
function Execute($SQL){
return $this->Query($SQL)->fetch();
}
function RecordArray($SQL){
return $this->Query($SQL)->fetchAll();
}
function RecordCount($SQL){
return count($this->RecordArray($SQL));
}
function RecordLastID(){
return $this->Connection->lastInsertId();
}
}
然後實例化,在實例化中如果資料庫存在就自動打開,不存在就會自動建立資料庫。
以下為引用的內容:
$DB=new SQLite('blog.db'); //這個資料庫檔案名字任意
建立資料庫表
以下為引用的內容:
$DB->Query("create table test(id integer primary key,title varchar(50)");
接下來新增數據
以下為引用的內容:
$DB->Query("insert into test(title) values('泡菜')");
$DB->Query("insert into test(title) values('藍雨')");
$DB->Query("insert into test(title) values('Ajan')");
$DB->Query("insert into test(title) values('傲雪藍天')");
之後就是如何讀取資料了。也就是循環。
以下為引用的內容:
$SQL='select title from test order by id desc';
foreach($DB->Query($SQL) as $RS){
echo $RS['title'];
}
對於企業來說SQLITE可能會小點,但對於個人來說它確實是個好東西,可移植性非常好。
本人水平有限,如果以上內容有錯誤請指正。謝謝!