树叶云上用PHP玩转SQLite数据库那些事儿,简单入门也能搞定
- 问答
- 2026-01-13 21:19:38
- 2
(来源:树叶云博客文章“PHP玩转SQLite数据库,简单入门也能搞定”)
好的,直接上干货,今天咱们就聊聊怎么用PHP来摆弄SQLite这个轻巧的数据库,你不用怕,这东西比MySQL那种要单独安装配置的大家伙简单多了,特别适合小项目、练手或者当你需要一个内置的、不占地方的数据存储时用。
第一件事:SQLite是个啥?为啥选它?
(来源:文章开篇介绍部分)
简单说,SQLite就是一个数据库,但它的最大特点是不需要像MySQL或PostgreSQL那样单独运行一个“数据库服务器”,它就是一个文件,一个以.db或者.sqlite结尾的文件,你把数据存进去,它就待在那个文件里,你用的时候PHP直接去读这个文件就行了,好处显而易见:部署简单,拷个文件就走;零配置,不用管什么用户名密码、端口号(当然你也可以设置);轻量,整个数据库引擎都集成在PHP的扩展里了,对于博客评论、小型网站的数据、简单的配置存储,它绝对是首选。
第二件事:准备工作,确保你的PHP能“驱动”SQLite
(来源:文章“开始之前”小节)
在开始写代码前,你得先确认你的PHP环境已经开启了SQLite支持,大多数情况下,默认是开启的,你可以创建一个PHP文件,里面写上 <?php phpinfo(); ?>,然后在浏览器里打开它,接着页面上疯狂按Ctrl+F,搜索“sqlite”,如果你能看到SQLite相关的信息,比如SQLite Library Version,那就恭喜你,可以直接开干了,如果没有,那你可能需要去php.ini配置文件里取消掉 extension=sqlite3 或者 extension=pdo_sqlite 前面的分号注释,然后重启你的Web服务器。
第三件事:连接数据库,其实就是找个文件
(来源:文章“连接数据库”部分) 用PHP连接SQLite简单到让你怀疑人生,咱们主要说现在更推荐用的PDO(PHP Data Objects)方式,因为它更安全、更通用。
看代码:
<?php
// 指定数据库文件路径,如果文件不存在,SQLite会自动创建它。
$db_file = "mydatabase.db";
try {
// 创建PDO连接实例,DSN(数据源名称)里指定这是sqlite数据库,文件路径是$db_file
$pdo = new PDO("sqlite:" . $db_file);
// 设置错误处理模式为异常模式,这样出错了会抛出异常,方便调试
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "连接SQLite数据库成功!";
} catch (PDOException $e) {
die("连接失败: " . $e->getMessage());
}
?>
就这么几行,连接就建立了。mydatabase.db 这个文件就是你整个数据库的化身。
第四件事:建表、插数据、查数据,核心操作三连
(来源:文章“基本操作”章节)
-
创建表: 表就是用来规规矩矩放数据的地方,比如我们建个简单的
users用户表。// 接在上面的连接代码后面,假设$pdo连接对象已经建好 $sql = "CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT NOT NULL, email TEXT NOT NULL UNIQUE, created_at DATETIME DEFAULT CURRENT_TIMESTAMP )"; try { $pdo->exec($sql); // exec()方法用来执行不返回结果集的SQL语句 echo "表创建成功或已存在!"; } catch (PDOException $e) { echo "建表出错: " . $e->getMessage(); }这里定义了id(主键,自增长)、用户名、邮箱和创建时间几个字段。
IF NOT EXISTS很贴心,防止重复建表报错。 -
插入数据: 把新数据放进表里,这里有个超级重要的概念:预处理语句,它能有效防止SQL注入攻击,千万别直接把变量拼接到SQL字符串里!
$username = "张三"; $email = "zhangsan@example.com"; // 用占位符 ? 来代替实际的值 $sql = "INSERT INTO users (username, email) VALUES (?, ?)"; $stmt = $pdo->prepare($sql); // 准备预处理语句 try { // 把变量绑定到占位符上并执行 $stmt->execute([$username, $email]); echo "新用户插入成功!"; } catch (PDOException $e) { echo "插入数据出错: " . $e->getMessage(); }使用
prepare和execute是标准做法,安全第一。 -
查询数据: 把存进去的数据再拿出来看看。
$sql = "SELECT id, username, email, created_at FROM users"; $stmt = $pdo->query($sql); // query()方法执行查询语句 // 设置获取数据的方式为关联数组模式 $stmt->setFetchMode(PDO::FETCH_ASSOC); // 用循环把数据一行行取出来 while ($row = $stmt->fetch()) { echo "ID: " . $row['id'] . " - 用户名: " . $row['username'] . " - 邮箱: " . $row['email'] . " - 注册时间: " . $row['created_at'] . "<br>"; }这样就能把users表里所有用户的信息都打印出来了。
第五件事:别忘了关“门”
(来源:文章结尾提醒) 虽然PHP脚本执行结束会自动关闭数据库连接,但养成好习惯没坏处,你可以在所有数据库操作完成后,显式地关闭连接:
$pdo = null; // 将PDO对象设为null即可关闭连接
(来源:文章总结部分) 你看,用PHP操作SQLite是不是没那么神秘?核心就是:用PDO连接文件、用exec执行建表、用prepare和execute安全地增删改、用query和fetch来查询,记住这几点,你已经能应付很多小场景了,SQLite功能强大,远不止这些,但入门这就够了,剩下的比如更新数据、删除数据、条件查询,跟你以前学过的SQL语法基本一样,结合PDO的安全写法去用就行,找个简单的练手项目,比如做个留言板,马上就能实践起来,希望这点东西能帮你轻松搞定SQLite!

本文由水靖荷于2026-01-13发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/80154.html
