PHP:数据库操作(SQLite)

在 PHP 中,可以使用 SQLite 数据库进行轻量级的数据存储和操作。以下是关于使用 PHP 操作 SQLite 数据库的介绍:

一、连接数据库

1. 创建或打开数据库:

使用new SQLite3()来创建或打开一个 SQLite 数据库文件。如果数据库文件不存在,它将被创建。

$db = new SQLite3('my_database.db');

二、执行查询

1. 查询数据:

使用query()方法执行 SQL 查询语句,并返回一个SQLite3Result对象,可以通过遍历这个对象来获取查询结果。

$result = $db->query('SELECT * FROM users');

while ($row = $result->fetchArray(SQLITE3_ASSOC)) {

echo "id: ". $row["id"]. " - Name: ". $row["name"]. "<br>";

}

2. 插入数据:

使用exec()方法执行 SQL 插入语句。

$db->exec("INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')");

echo "New record created successfully";

3. 更新数据:

使用exec()方法执行 SQL 更新语句。

$db->exec("UPDATE users SET email='updated_email@example.com' WHERE id=1");

echo "Record updated successfully";

4. 删除数据:

使用exec()方法执行 SQL 删除语句。

$db->exec("DELETE FROM users WHERE id=1");

echo "Record deleted successfully";

三、预处理语句(参数绑定)

1. 防止 SQL 注入:

虽然 SQLite3 在 PHP 中没有像 PDO 那样明确的预处理语句机制,但可以通过字符串拼接和参数替换的方式来模拟预处理语句,以防止 SQL 注入。

$name = "Jane Doe";

$email = "jane@example.com";

$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";

// 注意:这种方式并不是真正的预处理语句,只是一种简单的参数替换方式,在实际应用中应谨慎使用,以防止 SQL 注入。

$db->exec($sql);

echo "New record created successfully";

四、错误处理

1. 检查错误:

可以使用lastErrorCode()和lastErrorMsg()方法来检查上一次操作是否发生错误。

$db->exec("INVALID SQL STATEMENT");

if ($db->lastErrorCode()!== 0) {

echo "Error: ". $db->lastErrorMsg();

}

五、关闭数据库连接

1. 关闭连接:

在完成数据库操作后,可以使用close()方法关闭数据库连接。

$db->close();

SQLite 是一种轻量级的嵌入式数据库,适用于小型应用程序或不需要复杂数据库服务器的场景。在使用 SQLite 时,要注意正确处理错误和避免 SQL 注入攻击。虽然 SQLite 的功能相对简单,但在一些特定的情况下,它可以提供快速、便捷的数据存储解决方案。

PHP编程语言基础