php SQLite扩展
封面图
•
2025-11-21
•
PHP
374
1
1
0
PHP 中的 **SQLite 扩展** 是用于与 SQLite 数据库进行交互的一组函数和类。SQLite 是一个轻量级的嵌入式数据库引擎,非常适合小型应用、移动应用或开发环境中的数据库需求。 在 PHP 中,有几种方式可以使用 SQLite: --- ## 1. **SQLite3 扩展(推荐)** 这是 PHP 内置的 SQLite 支持,从 PHP 5.3 开始引入,支持 SQLite 3。 ### 安装 确保 PHP 安装时启用了 `sqlite3` 扩展。可以通过以下方式检查: ```bash php -m | grep sqlite ``` 如果未启用,可以在 `php.ini` 文件中取消注释以下行: ```ini extension=sqlite3 ``` 然后重启你的 Web 服务器(如 Apache 或 Nginx)。 --- ### 使用示例 ```php <?php // 创建一个新的 SQLite 数据库连接 $db = new SQLite3('example.db'); // 创建表 $db->exec("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)"); // 插入数据 $stmt = $db->prepare("INSERT INTO users (name, email) VALUES (:name, :email)"); $stmt->bindValue(':name', 'Alice'); $stmt->bindValue(':email', 'alice@example.com'); $stmt->execute(); // 查询数据 $result = $db->query("SELECT * FROM users"); while ($row = $result->fetchArray(SQLITE3_ASSOC)) { print_r($row); } ?> ``` --- ## 2. **PDO_SQLite(推荐用于更通用的数据库操作)** 如果你使用的是 PDO(PHP Data Objects),那么可以通过 `PDO_SQLite` 来访问 SQLite 数据库。这种方式兼容性更好,适合需要统一数据库接口的应用。 ### 示例代码: ```php <?php try { $pdo = new PDO('sqlite:example.db'); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // 创建表 $pdo->exec("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)"); // 插入数据 $stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)"); $stmt->execute(['name' => 'Bob', 'email' => 'bob@example.com']); // 查询数据 $stmt = $pdo->query("SELECT * FROM users"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { print_r($row); } } catch (PDOException $e) { echo "Error: " . $e->getMessage(); } ?> ``` --- ## 3. **SQLite 扩展(旧版)** 在 PHP 5.3 之前,SQLite 使用的是 `sqlite` 扩展(不是 `sqlite3`)。这个扩展已经不推荐使用,但如果你在维护旧代码,可能仍然会看到它。 --- ## 总结对比 | 功能/特性 | SQLite3 扩展 | PDO_SQLite | |------------------|--------------------------|--------------------------| | 推荐版本 | PHP 5.3+ | PHP 5.1+ | | 面向对象 | 是 | 是 | | 支持预处理语句 | 是 | 是 | | 更多功能 | 简单,适合小型项目 | 更强大,兼容多种数据库 | | 推荐用途 | 快速开发、小型应用 | 多数据库支持、企业应用 | --- 如果你是刚开始学习 PHP 和 SQLite,建议从 **SQLite3 类** 或 **PDO_SQLite** 开始,它们更现代、更安全、功能更全面。 需要我帮你写一个完整的 CRUD 示例吗?
上一篇:
php MQTT介绍
下一篇:
php CURL
标题录入,一次不能超过6条
留言
评论