利用php实现删除
PHP 实现删除功能
在 PHP 中实现删除功能通常涉及数据库操作或文件系统操作。以下是常见的几种实现方式:
数据库记录删除
使用 MySQLi 扩展删除数据库记录:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$id = $_GET['id'];
$sql = "DELETE FROM users WHERE id=$id";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
$conn->close();
使用 PDO 删除记录
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$id = $_GET['id'];
$sql = "DELETE FROM users WHERE id=:id";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':id', $id);
$stmt->execute();
echo "Record deleted successfully";
} catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
文件删除
删除服务器上的文件:
$file = 'path/to/file.txt';
if (file_exists($file)) {
if (unlink($file)) {
echo "File deleted successfully";
} else {
echo "Error deleting file";
}
} else {
echo "File does not exist";
}
目录删除
删除空目录:
$dir = 'path/to/directory';
if (is_dir($dir)) {
if (rmdir($dir)) {
echo "Directory deleted successfully";
} else {
echo "Error deleting directory";
}
} else {
echo "Directory does not exist";
}
递归删除非空目录
function deleteDirectory($dir) {
if (!file_exists($dir)) {
return true;
}
if (!is_dir($dir)) {
return unlink($dir);
}
foreach (scandir($dir) as $item) {
if ($item == '.' || $item == '..') {
continue;
}
if (!deleteDirectory($dir . DIRECTORY_SEPARATOR . $item)) {
return false;
}
}
return rmdir($dir);
}
$dir = 'path/to/directory';
if (deleteDirectory($dir)) {
echo "Directory deleted successfully";
} else {
echo "Error deleting directory";
}
安全注意事项
- 验证用户权限:确保执行删除操作的用户有相应权限
- 使用预处理语句:防止 SQL 注入攻击
- 验证输入数据:检查要删除的 ID 或路径是否合法
- 备份重要数据:在执行删除前考虑备份
- 错误处理:提供适当的错误反馈
前端确认
通常会在执行删除前添加 JavaScript 确认:
function confirmDelete() {
return confirm("Are you sure you want to delete this?");
}
然后在表单或链接中调用:

<a href="delete.php?id=123" onclick="return confirmDelete()">Delete</a>
这些方法涵盖了 PHP 中常见的删除操作实现方式,可以根据具体需求选择适合的方法。






