分享

PHP PDO方式操作Sqlite实例

 zozoren 2021-06-25

Overview

(前言)

PHP PDO方式操作Sqlite实例

Environment

(运行环境)


  • PHP5.3以上
    开启扩展

extension=php_pdo_sqlite.dll

Function

(功能)
- CURD操作实例

Example

(实例)

创建数据库
# Create (connect to) database in file
# (创建数据库文件)
$pdo = new PDO('sqlite:php_sqlite_pdo.db');

会自动生成php_sqlite_pdo.db文件,文件名和后缀可根据需求修改


创建表
# Create table user
# (创建表)
$pdo->exec("CREATE TABLE IF NOT EXISTS user (
            id INTEGER PRIMARY KEY,
            name TEXT,
            time TEXT)");

创建一张user表,字段为id,name,time


插入数据
# Insert data
# (插入数据)
# 方式1
$sql = "INSERT INTO user (name, time) VALUES (:name, :time)";
$stmt = $pdo->prepare($sql);
$name = 'sunshine1';
$time = date('Y-m-d H:i:s');
$stmt->bindParam(':name', $name);
$stmt->bindParam(':time', $time);
$stmt->execute();

# 方式2
$sql = "INSERT INTO user (name, time) VALUES (:name, :time)";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(':name', 'sunshine2');
$stmt->bindValue(':time', date('Y-m-d H:i:s'));
$stmt->execute();

# 方式3
$sql = "INSERT INTO user (name, time) VALUES (:name, :time)";
$stmt = $pdo->prepare($sql);
$stmt->execute([':name' => 'sunshine3', ':time' => date('Y-m-d H:i:s')]);

# 方式4
$sql = "INSERT INTO user (name, time) VALUES (?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute(['sunshine4', date('Y-m-d H:i:s')]);

# 方式5
$sql = "INSERT INTO user (name, time) VALUES ('sunshine5', '" . date('Y-m-d H:i:s') . "')";
$pdo->exec($sql);

这里插入方式有多种,使用绑定方式PDO会自动处理SQL注入等安全问题


更新数据
# Update data
# (更新数据,参考插入多种方式)
$sql = "UPDATE user SET name = :name WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute([':name' => 'sunshine1_updated', ':id' => 1]);

删除数据
# Delete data
# (删除数据)
$sql = "DELETE FROM user WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute([':id' => 2]);

查询数据
# Select data
# (查询数据)
$sql = "SELECT * FROM user";
print_r($pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC));

清空数据
# Truncate data
# (清空数据)
$sql = "DELETE FROM sqlite_sequence WHERE name = 'user'";
$pdo->exec($sql);
$sql = "DELETE FROM user";
$pdo->exec($sql);

Expansion

(扩展)

调整PDO连接方式和创建表的SQL语句,可操作Mysql等其他数据库引擎,PDO基本语法通用

Code

(源码)

https://github.com/sunshinexcode/SqliteExample

Author

(作者)

sunshine

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多