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
php运行出现Call to undefined function curl_init()的解决方法
Nov 02 PHP
php基础学习之变量的使用
Jun 09 PHP
php获取汉字首字母的函数
Nov 07 PHP
codeigniter集成ucenter1.6双向通信的解决办法
Jun 12 PHP
ThinkPHP中Session用法详解
Nov 29 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
Dec 12 PHP
PHP中for循环与foreach的区别
Mar 06 PHP
CI(CodeIgniter)框架视图中加载视图的方法
Mar 24 PHP
php实现的二分查找算法示例
Jun 20 PHP
php实现简单的权限管理的示例代码
Aug 25 PHP
PHP架构及原理知识点详解
Dec 22 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
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
PHP系统流量分析的程序
2006/10/09 PHP
php 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
PHP 开发环境配置(测试开发环境)
2010/04/28 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
2019/12/13 PHP
php多进程中的阻塞与非阻塞操作实例分析
2020/03/04 PHP
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
AngularJS快速入门
2015/04/02 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
2015/08/26 Javascript
简述jQuery ajax的执行顺序
2016/01/05 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
详解在网页上通过JS实现文本的语音朗读
2019/03/28 Javascript
JavaScript算法学习之冒泡排序和选择排序
2019/11/02 Javascript
微信小程序indexOf的替换方法(推荐)
2020/01/14 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
Python实现分割文件及合并文件的方法
2015/07/10 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
python版本的读写锁操作方法
2016/04/25 Python
python解决Fedora解压zip时中文乱码的方法
2016/09/18 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
Python批处理删除和重命名文件夹的实例
2018/07/11 Python
python覆盖写入,追加写入的实例
2019/06/26 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
Python提取PDF内容的方法(文本、图像、线条等)
2019/09/25 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
教师实习自我鉴定
2013/12/14 职场文书
四群教育工作实施方案
2014/03/26 职场文书
2015年党员自我剖析材料
2014/12/17 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
安全温馨提示语大全
2015/07/14 职场文书
解读Vue组件注册方式
2021/05/15 Vue.js