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 相关文章推荐
jq的get传参数在utf-8中乱码问题的解决php版
Jul 23 PHP
PHP中英混合字符串截取函数代码
Jul 17 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 PHP
让codeigniter与swfupload整合的最佳解决方案
Jun 12 PHP
使用YUI+Ant 实现JS CSS压缩
Sep 02 PHP
thinkphp模板继承实例简述
Nov 26 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
Thinkphp实现自动验证和自动完成
Dec 19 PHP
PHP缓冲区用法总结
Feb 14 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
PHP设计模式之工厂模式详解
Oct 24 PHP
PHP实现的二分查找算法实例分析
Dec 19 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
全国FM电台频率大全 - 24 贵州省
2020/03/11 无线电
php设计模式 Delegation(委托模式)
2011/06/26 PHP
php通过正则表达式记取数据来读取xml的方法
2015/03/09 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
php工具型代码之印章抠图
2018/07/18 PHP
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
Javascript的&amp;&amp;和||的另类用法
2014/07/23 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
vue 地区选择器v-distpicker的常用功能
2019/07/23 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
python实现统计文本中单词出现的频率详解
2019/05/20 Python
python实现高斯投影正反算方式
2020/01/17 Python
pytorch:model.train和model.eval用法及区别详解
2020/02/20 Python
python画环形图的方法
2020/03/25 Python
python 决策树算法的实现
2020/10/09 Python
python中xlrd模块的使用详解
2021/02/01 Python
高中生物教学反思
2014/02/05 职场文书
物理课外活动总结
2014/08/27 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
继承权公证书范本
2015/01/23 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
幼师自荐信范文(2016推荐篇)
2016/01/28 职场文书
送给教师们,到底该如何写好教学反思?
2019/07/02 职场文书
标准版个人借条怎么写?以及什么是借条?
2019/08/28 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang
python基础学习之递归函数知识总结
2021/05/26 Python
vue.js Router中嵌套路由的实用示例
2021/06/27 Vue.js