在PHP中sqlite是什么,如何应用
Admin 2022-09-17 群英技术资讯 2005 次浏览
这篇文章主要介绍“在PHP中sqlite是什么,如何应用”的相关知识,下面会通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“在PHP中sqlite是什么,如何应用”文章能帮助大家解决问题。sqlite在php中是默认安装的本地小型化数据库,类似于xml的小型数据库,但sqlite功能更强。
sqlite.class.php文件:
<?php
class sqliteDB{
private $sqliteResult;
private $error = '';
private $createTable = <<<TABLE
/*初始化创建数据表,可创建多个表*/
CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
DDRESS CHAR(50),
SALARY REAL);
/*初始化插入数据,可插入多个数据*/
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 );
TABLE;
function __construct($fileName){
//如果有数据库,则打开数据库
//如果没有数据库,则创建数据库,并且生成数据表及插入数据
if(file_exists($fileName)){
$this->sqliteResult = new MyDB($fileName);
if(!$this->sqliteResult){
die("Database error:" . $this->sqliteResult->lastErrorMsg());
}
}else{
$this->sqliteResult = new MyDB($fileName);
if(!$this->sqliteResult){
die("Database error:" . $this->sqliteResult->lastErrorMsg());
}
$this->execute($this->createTable);
}
}
//此方法用于“增、删、改”
function execute($sql){
$this->error= $this->sqliteResult->exec($sql);
}
//此方法用于“查”
function queryDB($sql){
$result = $this->sqliteResult->query($sql);
$i = 0;
while($row = $result->fetchArray(SQLITE3_ASSOC) ){
$arr[$i] = $row;
$i += 1;
}
return $arr;
}
function __destruct(){
if(!$this->error){
die("Database error:" . $this->sqliteResult->lastErrorMsg());
}
$this->sqliteResult->close();
}
}
class MyDB extends SQLite3{
function __construct($fileName){
$this->open($fileName);
}
}
index.php文件:
<?php
include_once("sqlite.class.php");
$sqliteInsert =<<< EOF
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (2, 'Allen', 25, 'Texas', 15000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );
EOF;
$sqliteDelete =<<< EOF
DELETE from COMPANY where ID=2;
EOF;
$sqlUpdata =<<< EOF
UPDATE COMPANY set SALARY = 28666.00 where ID=1;
EOF;
$sqlSelect =<<<EOF
SELECT * from COMPANY;
EOF;
$db = new sqliteDB("test.db");
/*
* $db = new sqliteDB(':memory:');
* 如果文件名赋值为':memory:',那么 SQLite3::open() 将会在
* RAM 中创建一个内存数据库,这只会在 session 的有效时间内持续。
*/
foreach($db->queryDB($sqlSelect) as $value){
if($value["ID"] == 3 OR $value["ID"]== 4){
$isNull = true;
}
}
if(!$isNull){
//增加数据
$db->execute($sqliteInsert);
}
//删除数据
$db->execute($sqliteDelete);
//修改数据
$db->execute($sqlUpdata);
echo "<pre>";
//查询数据
print_r($db->queryDB($sqlSelect));
echo "</pre>";
执行后的效果图:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php创建函数的过程你知道是怎么样的吗?为了帮助大家更好的理解问题,小编特地整理了相关资料给大家,如果你感兴趣的话可以来看一看,一定不会让你失望的。
这篇文章主要介绍了laravel框架模型中非静态方法也能静态调用的原理,结合实例形式分析了laravel模型基类中使用魔术方法实现非静态方法进行静态调用的相关原理,需要的朋友可以参考下
区别:1、thinkphp5默认多应用,而thinkphp6默认单应用;2、thinkphp5默认加载官方模板引擎,而thinkphp6默认不加载官方模板引擎;3、thinkphp5默认启用session,而thinkphp6默认不启用。
swoole保持不掉线的方法:Swoole扩展可以通过心跳机制来保持不掉线,这个机制保证服务器和客户端之间连接的有效性。Swoole扩展本身内置了这种机制,开发者只需要配置一个参数即可启用。
首先自定义Command,在命令行下执行php artisan swoole start,开启Swoole服务。然后自定义handler,再利用connection_info函数获取客户端的IP地址和端口,用fsockopen直接发送数据。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008