zoukankan      html  css  js  c++  java
  • 简洁的PHP操作SQLite类

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

    这里为大家提供一个简洁的PHP操作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();
    	}
    }
    ?>
    

      

    相关 PHP 配置说明:

    1. 先测试 PHP 能否连接 sqlite 数据库:

    建立一个php文件

    <?php
    $conn  =  sqlite_open('test.db');
    ?>
    

      

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

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

    Fatal error: Call to undefined function sqlite_open() in C:ApacheApache2htdocs est.php on line 2

    解决办法如下:

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

    ;extension=php_sqlite.dll
    ;extension=php_pdo.dll
    ;extension=php_pdo_sqlite.dll

    重新启动web服务器

    http://blog.csdn.net/diandian_520/article/details/7231855

    php菜鸟俱乐部 php菜鸟club
  • 相关阅读:
    UOJ222 【NOI2016】区间
    BZOJ3631 [JLOI2014]松鼠的新家
    BZOJ 1001 [BeiJing2006]狼抓兔子
    poj2488 A Knight's Journey裸dfs
    hdu 4289 网络流拆点,类似最小割(可做模板)邻接矩阵实现
    hdu 4183 EK最大流算法
    HDU 4180 扩展欧几里得
    HDU 4178 模拟
    HDU 4177 模拟时间问题
    hdu 4185 二分图最大匹配
  • 原文地址:https://www.cnblogs.com/dfzz/p/4467928.html
Copyright © 2011-2022 走看看