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 相关文章推荐
生成缩略图
Oct 09 PHP
十天学会php之第八天
Oct 09 PHP
PHP Token(令牌)设计
Mar 15 PHP
仿AS3实现PHP 事件机制实现代码
Jan 27 PHP
PHP Cookie的使用教程详解
Jun 03 PHP
YII模块实现绑定二级域名的方法
Jul 09 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
thinkPHP实现多字段模糊匹配查询的方法
Dec 01 PHP
老生常谈PHP面向对象之标识映射
Jun 21 PHP
php实现的AES加密类定义与用法示例
Jan 29 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
PHP生成Flash动画的实现代码
2010/03/12 PHP
php+ajax实现无刷新动态加载数据技术
2015/04/28 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
php中上传文件的的解决方案
2018/09/25 PHP
PHPstorm激活码2020年5月13日亲测有效
2020/09/17 PHP
javascript动画效果类封装代码
2007/08/28 Javascript
js Math 对象的方法
2013/09/01 Javascript
鼠标经过tr时,改变tr当前背景颜色
2014/01/13 Javascript
JavaScript中document对象使用详解
2015/01/06 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
jquery实现页面常用的返回顶部效果
2016/03/04 Javascript
老生常谈js数据类型
2017/08/03 Javascript
详解webpack require.ensure与require AMD的区别
2017/12/13 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
浅谈对于“不用setInterval,用setTimeout”的理解
2019/08/28 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
[01:00:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第三场 1月10日
2021/03/11 DOTA
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
CSS3实现闪烁动画效果的方法
2015/02/09 HTML / CSS
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
Yahoo-PHP面试题1
2016/07/20 面试题
心得体会怎么写
2013/12/30 职场文书
财务总监管理职责范文
2014/03/09 职场文书
村干部培训班主持词
2014/03/28 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
上课迟到检讨书
2015/05/06 职场文书
怎样写好工作计划
2019/04/10 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang