php实现删除功能
实现PHP删除功能的基本方法
在PHP中实现删除功能通常涉及数据库操作或文件系统操作。以下是常见的实现方式:
数据库记录删除
使用PDO扩展连接MySQL数据库并执行删除操作:
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$stmt = $pdo->prepare("DELETE FROM users WHERE id = :id");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
文件系统删除
使用unlink()函数删除服务器上的文件:
$file_path = '/path/to/file.txt';
if (file_exists($file_path)) {
unlink($file_path);
}
安全注意事项
删除操作需要特别注意安全防护,防止SQL注入和未授权访问:
验证用户权限后再执行删除
session_start();
if (!isset($_SESSION['admin'])) {
die('无权执行此操作');
}
使用预处理语句防止SQL注入
$stmt = $pdo->prepare("DELETE FROM products WHERE id = ?");
$stmt->execute([$product_id]);
完整示例代码
结合HTML表单和PHP处理的完整删除示例:
// delete.php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete'])) {
$db = new PDO('mysql:host=localhost;dbname=test', 'user', 'pass');
$stmt = $db->prepare("DELETE FROM items WHERE id = ?");
$stmt->execute([$_POST['id']]);
header('Location: list.php');
exit;
}
<!-- delete_form.html -->
<form method="post" action="delete.php" onsubmit="return confirm('确认删除吗?')">
<input type="hidden" name="id" value="<?= $item_id ?>">
<button type="submit" name="delete">删除</button>
</form>
错误处理机制
添加适当的错误处理使删除操作更健壮:

try {
$pdo->beginTransaction();
$stmt = $pdo->prepare("DELETE FROM orders WHERE order_id = ?");
$stmt->execute([$order_id]);
$pdo->commit();
} catch (PDOException $e) {
$pdo->rollBack();
error_log('删除失败: ' . $e->getMessage());
}






