PHP+sqlite数据库操作示例(创建/打开/插入/检索)


Posted in PHP onMay 26, 2016

本文实例讲述了PHP+sqlite数据库操作的方法。分享给大家供大家参考,具体如下:

SQLite是一款轻型的数据库,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非 常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相 结合,比如Tcl、PHP、Java等,还有ODBC接口,同样比起MySQL、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理 速度比他们都快。

PHP 5开始不再默认支持Mysql,而是默认支持SQLite,可见它的影响力多么大,所以如果你想做SQLite的PHP开发,建议你使用PHP 5.0.0以上版本。

下面是使用sqlite的一个示例

首先可以在目录下新建一个upload.db的空文件

<?php
define("LN", __LINE__);//行号
define("FL", __FILE__);//当前文件
define("DEBUG", 0);//调试开关
$db_name = "upload.db";
//创建数据库文件,文件内容为空
if (!file_exists($db_name)) {
 if (!($fp = fopen($db_name, "w+"))) {
 exit(error_code(-1, LN));
 }
 fclose($fp);
}
//打开数据库文件
if (!($db = sqlite_open($db_name))) {
 exit(error_code(-2, LN));
}
//产生数据表结构
if (!sqlite_query($db, "DROP TABLE uploads")) {
 exit(error_code(-3, LN));
}
if (!sqlite_query($db, "CREATE TABLE uploads (id integer primary key, file_name varchar(200) UNIQUE, make_time integer)")) {
 exit(error_code(-3, LN));
}
//插入一条数据
if (!sqlite_query($db, " INSERT INTO uploads (file_name, make_time) VALUES ('upload/111.data','".time()."') ")) {
 exit(error_code(-4, LN));
}
//把数据检索出来
if (!($result = sqlite_query($db, "SELECT * FROM uploads"))) {
 exit(error_code(-5, LN));
}
//获取检索数据并显示
while ($array = sqlite_fetch_array($result)) {
 echo "ID: ". $array[file_name] ."<br>: ". $array[make_time] ;
}
/* 错误信息代码函数 */
function error_code($code, $line_num, $debug=DEBUG)
{
 if ($code<-6 || $code>-1) {
 return false;
 }
 switch($code) {
 case -1: $errmsg = "Create database file error.";
  break;
 case -2: $errmsg = "Open sqlite database file failed.";
  break;
 case -3: $errmsg = "Create table failed, table already exist.";
  break;
 case -4: $errmsg = "Insert data failed.";
  break;
 case -5: $errmsg = "Query database data failed.";
  break;
 case -6: $errmsg = "Fetch data failed.";
  break;
 case -7: $errmsg = "";
  break;
 default: $errmsg = "Unknown error.";
 }
 $m = "<b>[ Error ]</b><br>File: ". basename(FL) ." <br>Line: ". LN ."<br>Mesg: ". $errmsg ."";
 if (!$debug) {
 ($m = $errmsg);
 }
 return $m;
}
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
使用adodb lite解决问题
Dec 31 PHP
基于initPHP的框架介绍
Apr 18 PHP
探讨PHP JSON中文乱码的解决方法详解
Jun 06 PHP
解析isset与is_null的区别
Aug 09 PHP
检查用户名是否已在mysql中存在的php写法
Jan 20 PHP
php中使用array_filter()函数过滤空数组的实现代码
Aug 19 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
Sep 06 PHP
thinkphp浏览历史功能实现方法
Oct 29 PHP
php生成gif动画的方法
Nov 05 PHP
thinkphp3.x中变量的获取和过滤方法详解
May 20 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
Oct 29 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
Dec 20 PHP
php连接oracle数据库的核心步骤
May 26 #PHP
php连接oracle数据库的方法(测试成功)
May 26 #PHP
PHP封装的MSSql操作类完整实例
May 26 #PHP
PHP简单操作MongoDB的方法(安装及增删改查)
May 26 #PHP
基于PHP实现数据分页显示功能
May 26 #PHP
yii2实现根据时间搜索的方法
May 25 #PHP
Yii2框架使用计划任务的方法
May 25 #PHP
You might like
让codeigniter与swfupload整合的最佳解决方案
2014/06/12 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
2015/09/10 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
PHP实现Snowflake生成分布式唯一ID的方法示例
2020/08/30 PHP
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
使用jQuery时Form表单元素ID和name命名大忌
2014/03/06 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
原生js获取元素样式的简单方法
2016/08/06 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
最新Javascript程序员面试试题和解题方法
2017/11/23 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
js异步上传多张图片插件的使用方法
2018/10/22 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
微信小程序工具函数封装
2019/10/28 Javascript
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
在Python中使用__slots__方法的详细教程
2015/04/28 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
使用Python爬了4400条淘宝商品数据,竟发现了这些“潜规则”
2018/03/23 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
2018/12/28 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
python使用html2text库实现从HTML转markdown的方法详解
2020/02/21 Python
HTML5 通过Vedio标签实现视频循环播放的示例代码
2020/08/05 HTML / CSS
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
CLR与IL分别是什么含义
2016/08/23 面试题
金融专业毕业生推荐信
2013/11/26 职场文书
教师节老师寄语
2015/05/28 职场文书
python获取带有返回值的多线程
2022/05/02 Python
MySQL中order by的执行过程
2022/06/05 MySQL