在PHP中sqlite是什么,如何应用
Admin 2022-09-17 群英技术资讯 798 次浏览
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接口interface怎样使用?对很多PHP初学者来说,接口interface是比较难理解,因此这篇文章就主要详细介绍一下接口interface以用法吗,有需要的朋友可以看一下。
这篇文章给大家分享的是有关php数组函数的内容,主要介绍array_push()、array_pop()及array_shift()对数组进行入栈,出栈及移除的操作,小编觉得挺实用的,因此分享给大家做个参考,感兴趣的朋友就继续往下看吧。
本文实例讲述了Thinkphp 框架扩展之驱动扩展。下文有实例供大家参考,对大家了解操作过程或相关知识有一定的帮助,而且实用性强,希望这篇文章能帮助大家,下面我们一起来了解看看吧。
PHP中self和static的用法及两者差异是什么?有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
PHP中的重载是什么意思,如何应用呢?一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解一下,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧!
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008