php sqlite類

 

php5.3開始,默認開啓了sqlite擴展,高於此版本的可以直接使用,直接上代碼.

<?php
/***
//應用舉例
require_once('cls_sqlite.php');
//創建實例
$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('傲雪藍天')");
//讀取數據
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;
    }
 
    function query($sql) //直接運行SQL,可用於更新、刪除數據
    {
        return $this->connection->query($sql);
    }
 
    function getlist($sql) //取得記錄列表
    {
        $recordlist=array();
        foreach($this->query($sql) as $rstmp)
        {
            $recordlist[]=$rstmp;
        }
        return $recordlist;
    }
 
    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();
    }
}
?>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章