Home > Backend Development > PHP Tutorial > Detailed explanation of PHP+sqlite database operation examples

Detailed explanation of PHP+sqlite database operation examples

墨辰丷
Release: 2023-03-29 12:14:01
Original
3604 people have browsed it

This article mainly introduces the method of operating PHP sqlite database, and briefly analyzes the functions and related operation skills of sqlite database, including creation, opening, inserting, retrieval and error prompts, etc. Friends who need it can refer to it

The details are as follows:

SQLite is a lightweight database. Its design target is embedded, and it has been used in many embedded products. It takes up very low resources. In embedded devices, only a few hundred K of memory may be enough. It can support mainstream operating systems such as Windows/Linux/Unix, and can be combined with many programming languages, such as Tcl, PHP, Java, etc., as well as ODBC interfaces. It is also compared to MySQL and PostgreSQL, two world-famous open source software. In terms of database management systems, its processing speed is faster than them all.

PHP 5 no longer supports Mysql by default, but supports SQLite by default. This shows how influential it is, so if you want to do PHP development of SQLite, it is recommended that you use PHP 5.0.0 or above.

The following is an example of using sqlite

First, you can create an empty file of upload.db in the directory

<?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 (&#39;upload/111.data&#39;,&#39;".time()."&#39;) ")) {
 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;
}
?>
Copy after login

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

phpMethods to solve and avoid repeated form submission

PHP Detailed explanation of the implemented statistical data function

Sharing of two methods of converting PHP array encoding gbk and utf8 to and from each other

The above is the detailed content of Detailed explanation of PHP+sqlite database operation examples. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template