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