简洁的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:\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服务器

 

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

    原文作者:sqlite
    原文地址: https://www.cnblogs.com/dfzz/p/4467928.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞