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中uploaded_files函数使用方法详解
Mar 09 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
May 06 PHP
取得单条网站评论以数组形式进行输出
Jul 28 PHP
php中的观察者模式简单实例
Jan 20 PHP
PHP中的Session对象如何使用
Sep 25 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
PHP之十六个魔术方法详细介绍
Nov 01 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
微信公众号OAuth2.0网页授权问题浅析
Jan 21 PHP
php fread函数使用方法总结
May 28 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 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设计模式 Composite (组合模式)
2011/06/26 PHP
php二维数组转成字符串示例
2014/02/17 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
7个Javascript地图脚本整理
2009/10/20 Javascript
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
javascript中常用编程知识
2013/04/08 Javascript
js和as的稳定传值问题解决
2013/07/14 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
Angular外部使用js调用Angular控制器中的函数方法或变量用法示例
2016/08/05 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
使用BootStrap进行轮播图的制作
2017/01/06 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
Async Validator 异步验证使用说明
2017/07/03 Javascript
vue-router重定向不刷新问题的解决
2018/06/25 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
JQuery样式与属性设置方法分析
2019/12/07 jQuery
JS实现盒子拖拽效果
2020/02/06 Javascript
Python简单实现Base64编码和解码的方法
2017/04/29 Python
在django中使用自定义标签实现分页功能
2017/07/04 Python
Python+threading模块对单个接口进行并发测试
2019/06/25 Python
Selenium基于PIL实现拼接滚动截图
2020/04/10 Python
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
BNKR中国官网:带你感受澳洲领先潮流时尚
2018/08/21 全球购物
英国领先的游戏零售商:GAME
2019/09/24 全球购物
可靠的数据流传输TCP
2016/03/15 面试题
婚前协议书
2014/04/15 职场文书
产品销售计划书
2014/05/04 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
原生CSS实现文字无限轮播的通用方法
2021/03/30 HTML / CSS
vue使用Google Recaptcha验证的实现示例
2021/08/23 Vue.js