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 array_slice函数的使用以及参数详解
Aug 30 PHP
Linux环境下搭建php开发环境的操作步骤
Jun 17 PHP
php的ZipArchive类用法实例
Oct 20 PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 PHP
Centos6.5和Centos7 php环境搭建方法
May 27 PHP
PHP输出多个元素的排列或组合的方法
Mar 14 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
Mar 19 PHP
php中Redis的应用--消息传递
Mar 28 PHP
PHP框架Laravel中实现supervisor执行异步进程的方法
Jun 07 PHP
yii gridview实现时间段筛选功能
Aug 15 PHP
PHP7数组的底层实现示例
Aug 25 PHP
laravel5.5添加echarts实现画图功能的方法
Oct 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
dedecms 制作模板中使用的全局标记图文教程
2007/03/11 PHP
php设计模式之单例、多例设计模式的应用分析
2013/06/30 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
php多重接口的实现方法
2015/06/20 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
jQuery 源码分析笔记(2) 变量列表
2011/05/28 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
Javascript Memoizer浅析
2014/10/16 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
javascript判断并获取注册表中可信任站点的方法
2015/06/01 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
vue组件中使用props传递数据的实例详解
2018/04/08 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
2019/02/26 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
Python Tkinter简单布局实例教程
2014/09/03 Python
Django项目中用JS实现加载子页面并传值的方法
2018/05/28 Python
Python中对数组集进行按行打乱shuffle的方法
2018/11/08 Python
python 机器学习之支持向量机非线性回归SVR模型
2019/06/26 Python
Django ModelForm组件使用方法详解
2019/07/23 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
护士专业推荐信
2013/11/02 职场文书
财务部经理岗位职责
2014/02/03 职场文书
财务科科长岗位职责
2014/03/10 职场文书
丽江古城导游词
2015/02/03 职场文书
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android