简洁的PHP操作SQLite类

SQLite是一款轻型的数据库" title="数据库" >数据库,是遵守ACID的关联数据库" title="数据库" >数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很程序言相结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库" title="数据库" >数据库管理系统来讲,它的处理速度比他们都快。

这里为大家提供一个简洁的PHP操作SQLite

<?php

/***

//应用举例

require_once('cls_sqlite.php');

//创建实例

$DB=new SQLite('blog.db'); //这个数据库" title="数据库" >数据文件名字任意

//创建数据库" title="数据库" >数据库表。

$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('sjolzy')");

//读取数据

print_r($DB->getlist('select * from test order by id desc'));

//更新数据

$DB->query('update test set title = "三大" where id = 9');

***/

 

class SQLite

{

    function __construct($file){

        try{

            $this->connection=new PDO('sqlite:'.$file);

        }catch(PDOException $e){

            try{

                $this->connection=new PDO('sqlite2:'.$file);

            }catch(PDOException $e){

                exit('error!');

            }

        }

    }


    function __destruct(){

        $this->connection=null;

    }

class="Apple-style-span" style="color: rgb(165, 42, 42); ">    functionquery($sql){ //直接运行SQL,可用于更新、删除数据

        return $this->connection->query($sql);

    }

class="Apple-style-span" style="color: rgb(165, 42, 42); ">    function getlist($sql){ //取得记录列表

        $recordlist=array();

        foreach($this->query($sql) as $rstmp){

            $recordlist[]=$rstmp;

        }

        return $recordlist;

    }

class="Apple-style-span" style="color: rgb(165, 42, 42); ">    function Execute($sql){

        return $this->query($sql)->fetch();

    }

class="Apple-style-span" style="color: rgb(165, 42, 42); ">    function RecordArray($sql){

        return $this->query($sql)->fetchAll();

    }

class="Apple-style-span" style="color: rgb(165, 42, 42); ">    function RecordCount($sql){

        return count($this->RecordArray($sql));

    }

    function RecordLastID(){

        return $this->connection->lastInsertId();

    }

}

?>

转载相关 PHP 配置说明

1. 先测试 PHP 能否连接sqlite 数据库" title="数据库" >数据库:

建立一个php文件

<?php

$conn  =  sqlite_open('test.db');

?>

测试这个文件能否正常运行。

如果没有能正常加载sqlite模块,就可能出现这样的错误

Fatal error: Call to undefined functionsqlite_open() in C:\Apache\Apache2\htdocs\test.php on line 2

解决办法如下:

2. 打开 php.ini 文件,将以下三行前面的分号删除:

;extension=php_sqlite.dll

;extension=php_pdo.dll

;extension=php_pdo_sqlite.dll

重新启动web服务器