最近花了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可能會小點,但是對於個人來說它確實是個好東西,可移植性非常好。
本人水平有限,如果以上內容有錯誤請指正。謝謝!