PHP实现的简单操作SQLite数据库类与用法示例


Posted in PHP onJune 19, 2017

本文实例讲述了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服务器

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 中的一些经验积累
Oct 09 PHP
SSI指令
Nov 25 PHP
function.inc.php超越php
Dec 09 PHP
收集的DedeCMS一些使用经验
Mar 17 PHP
PHP 提取图片img标记中的任意属性的简单实例
Dec 10 PHP
php代码审计比较有意思的例子
May 07 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
May 12 PHP
PHP cURL初始化和执行方法入门级代码
May 28 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
完美解决phpexcel导出到xls文件出现乱码的问题
Oct 29 PHP
PHPMailer发送邮件
Dec 28 PHP
PHPUnit测试私有属性和方法功能示例
Jun 12 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 #PHP
PHP利用Socket获取网站的SSL证书与公钥
Jun 18 #PHP
php实现批量上传数据到数据库(.csv格式)的案例
Jun 18 #PHP
PHP更安全的密码加密机制Bcrypt详解
Jun 18 #PHP
Laravel中log无法写入问题的解决
Jun 17 #PHP
php下载远程大文件(获取远程文件大小)的实例
Jun 17 #PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 #PHP
You might like
用PHPdig打造属于你自己的Google[图文教程]
2007/02/14 PHP
php实现网站插件机制的方法
2009/11/10 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
phpQuery让php处理html代码像jQuery一样方便
2015/01/06 PHP
Linux php 中文乱码的快速解决方法
2016/05/13 PHP
php连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
JS在textarea光标处插入文本的小例子
2013/03/22 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
2016/01/22 Javascript
Javascript操作表单实例讲解(下)
2016/06/20 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
Express的HTTP重定向到HTTPS的方法
2018/06/06 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
Python及Pycharm安装方法图文教程
2019/08/05 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
回门宴新郎答谢词
2014/01/12 职场文书
会计专业自我评价
2014/02/12 职场文书
有趣的广告词
2014/03/18 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
经济管理专业求职信
2014/06/09 职场文书
丧事答谢词
2015/01/05 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
同学聚会通知书
2015/04/20 职场文书
董事长致辞
2015/07/29 职场文书
全新239军机修复记
2022/04/05 无线电
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL
Java使用HttpClient实现文件下载
2022/08/14 Java/Android