Heim  >  Artikel  >  Backend-Entwicklung  >  PHP5环境下采用Sqlite数据库开发小小总结_PHP教程

PHP5环境下采用Sqlite数据库开发小小总结_PHP教程

WBOY
WBOYOriginal
2016-07-13 17:37:20790Durchsuche

最近花了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可能会小点,但是对于个人来说它确实是个好东西,可移植性非常好。

本人水平有限,如果以上内容有错误请指正。谢谢!

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/486566.htmlTechArticle最近花了10多天重新写了泡菜博客,采用了PHP5+SQLITE技术。原因是MYSQL管理非常麻烦,而且还得花钱另外买数据库。 sqlite 是一款轻量级的、...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn