php实现删除功能
PHP 实现删除功能的方法
在 PHP 中实现删除功能通常涉及数据库操作或文件系统操作。以下是几种常见的实现方式:
数据库记录删除
使用 MySQLi 扩展删除数据库记录:
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$id = $_GET['id'];
$sql = "DELETE FROM table_name WHERE id=$id";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
$conn->close();
?>
使用 PDO 删除记录
PDO 提供了更安全的参数化查询方式:

<?php
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');
$id = $_GET['id'];
$stmt = $pdo->prepare("DELETE FROM table_name WHERE id = :id");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
echo $stmt->rowCount() . " records deleted";
?>
文件删除操作
删除服务器上的文件:
<?php
$file_path = '/path/to/file.txt';
if (file_exists($file_path)) {
if (unlink($file_path)) {
echo "File deleted successfully";
} else {
echo "Error deleting file";
}
} else {
echo "File does not exist";
}
?>
安全注意事项
删除操作前应验证用户权限:

<?php
session_start();
if (!isset($_SESSION['user_id']) || $_SESSION['role'] != 'admin') {
die("Unauthorized access");
}
?>
使用预处理语句防止 SQL 注入:
<?php
$stmt = $conn->prepare("DELETE FROM users WHERE id = ?");
$stmt->bind_param("i", $id);
$id = $_GET['id'];
$stmt->execute();
?>
前端确认删除
建议在前端添加确认对话框:
function confirmDelete() {
return confirm("Are you sure you want to delete this record?");
}
HTML 调用方式:
<a href="delete.php?id=123" onclick="return confirmDelete()">Delete</a>
这些方法涵盖了 PHP 中实现删除功能的主要场景,开发者应根据具体需求选择合适的方式,并始终注意安全性问题。






