php实现增删改查
PHP 实现增删改查
数据库连接
使用 PDO(PHP Data Objects)连接数据库,确保安全性和兼容性。以下是一个基本的数据库连接示例:
<?php
$host = 'localhost';
$dbname = 'your_database';
$username = 'your_username';
$password = 'your_password';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
?>
创建数据(Create)
通过预处理语句插入数据,防止 SQL 注入。
$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$name = 'John Doe';
$email = 'john@example.com';
$stmt->execute();
读取数据(Read)
查询数据并显示结果。

$sql = "SELECT * FROM users";
$stmt = $pdo->query($sql);
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "ID: " . $row['id'] . ", Name: " . $row['name'] . ", Email: " . $row['email'] . "<br>";
}
更新数据(Update)
通过预处理语句更新数据。
$sql = "UPDATE users SET name = :name WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':id', $id);
$name = 'Jane Doe';
$id = 1;
$stmt->execute();
删除数据(Delete)
通过预处理语句删除数据。

$sql = "DELETE FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id', $id);
$id = 1;
$stmt->execute();
错误处理
使用 try-catch 块捕获异常,确保代码的健壮性。
try {
$stmt->execute();
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
完整示例
以下是一个完整的增删改查示例:
<?php
$host = 'localhost';
$dbname = 'your_database';
$username = 'your_username';
$password = 'your_password';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Create
$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
$name = 'John Doe';
$email = 'john@example.com';
$stmt->execute();
// Read
$sql = "SELECT * FROM users";
$stmt = $pdo->query($sql);
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "ID: " . $row['id'] . ", Name: " . $row['name'] . ", Email: " . $row['email'] . "<br>";
}
// Update
$sql = "UPDATE users SET name = :name WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':id', $id);
$name = 'Jane Doe';
$id = 1;
$stmt->execute();
// Delete
$sql = "DELETE FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id', $id);
$id = 1;
$stmt->execute();
} catch (PDOException $e) {
die("Error: " . $e->getMessage());
}
?>
注意事项
- 始终使用预处理语句以防止 SQL 注入。
- 在生产环境中,确保数据库凭据存储在安全的位置,如环境变量或配置文件。
- 对于复杂的查询,考虑使用 ORM(如 Laravel 的 Eloquent)简化操作。






