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 相关文章推荐
用mysql内存表来代替php session的类
Feb 01 PHP
队列在编程中的实际应用(php)
Sep 04 PHP
php float不四舍五入截取浮点型字符串方法总结
Oct 28 PHP
PHP实现动态柱状图改进版
Mar 30 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
实例讲解PHP设计模式编程中的简单工厂模式
Feb 29 PHP
Linux下编译redis和phpredis的方法
Apr 07 PHP
PHP面向对象程序设计方法实例详解
Dec 24 PHP
php 7新特性之类型申明详解
Jun 06 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
php实现图片压缩处理
Sep 09 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作的文本留言本的例子(一)
2006/10/09 PHP
PHP微信公众号自动发送红包API
2016/06/01 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
走出JavaScript初学困境—js初学
2008/12/29 Javascript
javascript EXCEL 操作类代码
2009/07/30 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
JS组件Bootstrap ContextMenu右键菜单使用方法
2016/04/17 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
Angular实现购物车计算示例代码
2017/02/21 Javascript
解析Vue 2.5的Diff算法
2017/11/28 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
详解将微信小程序接口Promise化并使用async函数
2019/08/05 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
[05:08]第一届“网鱼杯”DOTA2比赛精彩集锦
2014/09/05 DOTA
Python的高级Git库 Gittle
2014/09/22 Python
Python实现telnet服务器的方法
2015/07/10 Python
基于numpy.random.randn()与rand()的区别详解
2018/04/17 Python
Python XML转Json之XML2Dict的使用方法
2019/01/15 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
python实现超市商品销售管理系统
2019/10/25 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
新闻专业推荐信范文
2013/11/20 职场文书
护士在校生自荐信
2014/02/01 职场文书
小学教师寄语大全
2014/04/03 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
公司离职证明范本
2014/10/17 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
python批量更改目录名/文件名的方法
2021/04/18 Python
react antd实现动态增减表单
2021/06/03 Javascript
小程序自定义轮播图圆点组件
2022/06/25 Javascript
Rust中的Struct使用示例详解
2022/08/14 Javascript