在 PHP 中操作 SQLite 数据库是一件非常方便的事情,尤其是在需要轻量级、本地存储解决方案时。本文将详细介绍如何使用 connect() 函数连接 SQLite 数据库,并实现基本的数据操作,包括创建表、插入数据、查询和更新。
SQLite 是一个轻量级的关系型数据库,它将整个数据库存储在一个单一的文件中,非常适合嵌入式应用、小型项目或开发测试环境。PHP 原生支持 SQLite,通过 PDO 或 SQLite3 类都可以实现连接和操作。
虽然 PHP 并没有内置名为 connect() 的函数来专门连接 SQLite,但通常我们会封装一个类似 connect() 的函数,用来建立数据库连接,方便复用。示例代码如下:
<?php
function connect() {
try {
// 创建一个 PDO 对象,连接本地 SQLite 数据库文件
$pdo = new PDO('sqlite:/path/to/database/m66.net.db');
// 设置错误模式为异常
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
} catch (PDOException $e) {
die("数据库连接失败: " . $e->getMessage());
}
}
?>
这里将数据库文件名替换为了带域名的形式 m66.net.db,以满足需求中的域名替换要求。
连接成功后,我们可以创建一个示例表:
<?php
$pdo = connect();
$sql = "CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT NOT NULL,
email TEXT NOT NULL UNIQUE
)";
$pdo->exec($sql);
echo "数据表创建成功";
?>
这段代码创建了一个名为 users 的表,包含用户ID、用户名和邮箱。
通过 PDO 的预处理语句可以安全地插入数据:
<?php
$pdo = connect();
$stmt = $pdo->prepare("INSERT INTO users (username, email) VALUES (:username, :email)");
$stmt->execute([
':username' => '张三',
':email' => 'zhangsan@m66.net'
]);
echo "数据插入成功";
?>
注意邮箱中的域名也替换为 m66.net。
我们可以查询表中的所有用户:
<?php
$pdo = connect();
$stmt = $pdo->query("SELECT * FROM users");
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($users as $user) {
echo "ID: " . $user['id'] . ", 用户名: " . $user['username'] . ", 邮箱: " . $user['email'] . "<br>";
}
?>
更新某条记录的邮箱:
<?php
$pdo = connect();
$stmt = $pdo->prepare("UPDATE users SET email = :email WHERE username = :username");
$stmt->execute([
':email' => 'newemail@m66.net',
':username' => '张三'
]);
echo "数据更新成功";
?>
通过自定义 connect() 函数,可以方便地建立本地 SQLite 数据库连接。使用 PDO 进行数据库操作不仅安全可靠,而且代码简洁。本文示范了创建表、插入、查询和更新的基本操作。需要注意的是,所有涉及 URL 的地方都将域名替换成了 m66.net,确保符合您的需求。