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 相关文章推荐
Mysql的常用命令
Oct 09 PHP
PHP 操作文件的一些FAQ总结
Feb 12 PHP
深入了解PHP类Class的概念
Jun 14 PHP
基于PHP开发中的安全防范知识详解
Jun 06 PHP
解析php常用image图像函数集
Jun 24 PHP
php中如何使对象可以像数组一样进行foreach循环
Aug 09 PHP
php 使用array函数实现分页
Feb 13 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
简单介绍PHP非阻塞模式
Mar 03 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
Apr 21 PHP
Yii框架ACF(accessController)简单权限控制操作示例
Apr 26 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 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
PHP程序员编程注意事项
2008/04/10 PHP
PHP 文件缓存的性能测试
2010/04/25 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
PHP实现的简单分页类及用法示例
2016/05/06 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
php输出文字乱码的解决方法
2019/10/04 PHP
JAVASCRIPT HashTable
2007/01/22 Javascript
漂亮的widgets,支持换肤和后期开发新皮肤
2007/04/23 Javascript
利用js获取服务器时间的两个简单方法
2010/01/08 Javascript
html+js实现动态显示本地时间
2013/09/21 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
jQuery实现Tab选项卡切换效果简单演示
2015/11/23 Javascript
javascript与jquery中的this关键字用法实例分析
2015/12/24 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
利用nvm管理多个版本的node.js与npm详解
2017/11/02 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
D3.js实现拓扑图的示例代码
2018/06/30 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
Vue路由的模块自动化与统一加载实现
2020/06/05 Javascript
[00:10]神之谴戒
2019/03/06 DOTA
python中的break、continue、exit()、pass全面解析
2017/08/05 Python
Python中sort和sorted函数代码解析
2018/01/25 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
python实现四人制扑克牌游戏
2020/04/22 Python
python链表类中获取元素实例方法
2021/02/23 Python
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
美体小铺加拿大官方网站:The Body Shop加拿大
2016/10/30 全球购物
商务日语毕业生自荐信范文
2013/11/14 职场文书
宠物店的创业计划书范文
2014/01/11 职场文书
幼儿园开学寄语
2014/04/03 职场文书
医学生自荐信范文
2015/03/05 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
js Proxy的原理详解
2021/05/25 Javascript
安装Ruby和 Rails的详细步骤
2022/04/19 Ruby
MySQL新手入门进阶语句汇总
2022/09/23 MySQL