本文介绍下,php编程中一个操作sqlite数据的类,这里分享下代码,有需要的朋友参考下。
提供一个PHP操作SQLite类: <?php /* * 操作sqlite的类 * edit by bbs.it-home.org //应用举例 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; } 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 数据库" title="数据库" >数据库: 建立一个php文件 <?php $conn = sqlite_open('test.db'); ?> 测试文件能否正常运行。 如果未能正常加载sqlite模块,可能出现如下错误: Fatal error: Call to undefined function sqlite_open() in C:ApacheApache2htdocstest.php on line 2 解决办法: 打开 php.ini 文件,去掉以下三行前的分号,即去掉注释,使该配置节生效: ;extension=php_sqlite.dll ;extension=php_pdo.dll ;extension=php_pdo_sqlite.dll重启apache或nginx使配置生效。 |