程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP5環境下采用Sqlite數據庫開發小小總結

PHP5環境下采用Sqlite數據庫開發小小總結

編輯:關於PHP編程

最近花了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可能會小點,但是對於個人來說它確實是個好東西,可移植性非常好。

本人水平有限,如果以上內容有錯誤請指正。謝謝!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved