php实现增删改查
PHP 实现增删改查操作
数据库连接
使用 PDO(PHP Data Objects)连接数据库,确保安全性并支持多种数据库类型。示例代码:
$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 的 INSERT 语句添加数据,使用预处理语句防止 SQL 注入。

$name = 'John Doe';
$email = 'john@example.com';
$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':name', $name);
$stmt->bindParam(':email', $email);
if ($stmt->execute()) {
echo "Record created successfully";
} else {
echo "Error creating record";
}
读取数据(Read)
使用 SELECT 语句查询数据,并通过 fetchAll 获取结果集。
$sql = "SELECT id, name, email FROM users";
$stmt = $pdo->query($sql);
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($users as $user) {
echo "ID: " . $user['id'] . ", Name: " . $user['name'] . ", Email: " . $user['email'] . "<br>";
}
更新数据(Update)
通过 UPDATE 语句修改数据,绑定参数确保安全性。

$id = 1;
$newEmail = 'new_email@example.com';
$sql = "UPDATE users SET email = :email WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':email', $newEmail);
$stmt->bindParam(':id', $id);
if ($stmt->execute()) {
echo "Record updated successfully";
} else {
echo "Error updating record";
}
删除数据(Delete)
使用 DELETE 语句移除数据,通过参数绑定避免注入风险。
$id = 1;
$sql = "DELETE FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id', $id);
if ($stmt->execute()) {
echo "Record deleted successfully";
} else {
echo "Error deleting record";
}
完整示例
以下是一个完整的增删改查示例,包含表单处理和数据库操作:
// 数据库连接
$pdo = new PDO("mysql:host=localhost;dbname=your_database", "username", "password");
// 处理表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['create'])) {
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "INSERT INTO users (name, email) VALUES (?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute([$name, $email]);
} elseif (isset($_POST['update'])) {
$id = $_POST['id'];
$email = $_POST['email'];
$sql = "UPDATE users SET email = ? WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$email, $id]);
} elseif (isset($_POST['delete'])) {
$id = $_POST['id'];
$sql = "DELETE FROM users WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$id]);
}
}
// 查询数据
$sql = "SELECT * FROM users";
$stmt = $pdo->query($sql);
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);
注意事项
- 始终使用预处理语句防止 SQL 注入。
- 对用户输入进行验证和过滤。
- 在生产环境中启用错误日志记录。
- 考虑使用 ORM(如 Laravel 的 Eloquent)简化操作。






