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的FTP学习(四)
Oct 09 PHP
PHP下10件你也许并不了解的事情
Sep 11 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
PHP实现数组递归转义的方法
Aug 28 PHP
YII CLinkPager分页类扩展增加显示共多少页
Jan 29 PHP
功能强大的PHP POST提交数据类
Jul 15 PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 PHP
Yii框架表单提交验证功能分析
Jan 07 PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 PHP
PHP无限极分类函数的实现方法详解
Apr 15 PHP
Laravel 创建可以传递参数 Console服务的例子
Oct 14 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
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
php接口技术实例详解
2016/12/07 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
基于JQuery制作的产品广告效果
2010/12/08 Javascript
jquery 图片上传按比例预览插件集合
2011/05/28 Javascript
浅析js中的浮点型运算问题
2014/01/06 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
python实现定时播放mp3
2015/03/29 Python
Python过滤列表用法实例分析
2016/04/29 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
使用matplotlib动态刷新指定曲线实例
2020/04/23 Python
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
KENZO官网:高田贤三在法国创立的品牌
2019/05/16 全球购物
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
北京奥运会主题口号
2014/06/13 职场文书
中秋手机店促销方案
2014/06/16 职场文书
商场消防安全责任书
2014/07/29 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
社区综治工作汇报
2014/10/27 职场文书
护士2014年终工作总结
2014/11/11 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
解决Vue+SpringBoot+Shiro跨域问题
2021/06/09 Vue.js