插件窝 干货文章 php用pdo增删

php用pdo增删

PDO 数据 操作 数据库 849    来源:    2025-03-19

在PHP中使用PDO(PHP Data Objects)进行数据库操作是一种安全且灵活的方式。PDO提供了一个数据访问抽象层,这意味着无论使用哪种数据库,都可以使用相同的函数来执行查询和获取数据。

以下是如何使用PDO进行增删操作的示例:

1. 连接到数据库

首先,你需要创建一个PDO实例来连接到数据库。

$host = 'localhost';
$db   = 'your_database';
$user = 'your_username';
$pass = 'your_password';
$charset = 'utf8mb4';

$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION,
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
    PDO::ATTR_EMULATE_PREPARES   => false,
];

try {
    $pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
    throw new \PDOException($e->getMessage(), (int)$e->getCode());
}

2. 插入数据(增)

使用INSERT语句向数据库中插入数据。

$sql = "INSERT INTO users (name, email, age) VALUES (:name, :email, :age)";
$stmt = $pdo->prepare($sql);

$name = 'John Doe';
$email = 'john@example.com';
$age = 30;

$stmt->execute([
    ':name' => $name,
    ':email' => $email,
    ':age' => $age,
]);

echo "New record created successfully";

3. 删除数据(删)

使用DELETE语句从数据库中删除数据。

$sql = "DELETE FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);

$id = 1;

$stmt->execute([
    ':id' => $id,
]);

echo "Record deleted successfully";

4. 更新数据(改)

虽然你只问了增删,但更新操作也很常见,这里也提供一个示例。

$sql = "UPDATE users SET name = :name WHERE id = :id";
$stmt = $pdo->prepare($sql);

$id = 1;
$name = 'Jane Doe';

$stmt->execute([
    ':id' => $id,
    ':name' => $name,
]);

echo "Record updated successfully";

5. 查询数据(查)

查询数据是数据库操作中最常见的操作之一。

$sql = "SELECT * FROM users WHERE age > :age";
$stmt = $pdo->prepare($sql);

$age = 25;

$stmt->execute([
    ':age' => $age,
]);

$users = $stmt->fetchAll();

foreach ($users as $user) {
    echo $user['name'] . "\n";
}

6. 错误处理

PDO默认情况下不会抛出异常,除非你设置PDO::ATTR_ERRMODEPDO::ERRMODE_EXCEPTION。这样,如果发生错误,PDO会抛出PDOException,你可以捕获并处理它。

try {
    // 你的PDO操作
} catch (PDOException $e) {
    echo "Error: " . $e->getMessage();
}

7. 关闭连接

虽然PHP会在脚本结束时自动关闭连接,但你可以手动关闭它。

$pdo = null;

总结

使用PDO进行数据库操作时,预处理语句(prepared statements)是非常重要的,它可以防止SQL注入攻击。通过绑定参数,你可以安全地将用户输入插入到SQL查询中。

希望这些示例能帮助你在PHP中使用PDO进行增删操作。如果你有任何问题或需要进一步的帮助,请随时提问!