删除行pdo时取消链接图像


Unlink image while deleting row - pdo

我试图从文件夹中unlink()图像,而它对应的从数据库中删除行。从db中删除行工作得很好,但我不能让unlink工作。

我用谷歌搜索了2个小时,尝试了很多东西,但仍然不工作,我想我有一些小故障,但我不能弄清楚。

你能建议一下该试试什么吗?

<?php
$pdo = connect();
if (isset($_GET['delete'])) {
    $delete_id =   $_GET['delete']; 
    $img = "SELECT slika FROM filmovi WHERE id = $delete_id";
    $q = $pdo->prepare($img);
    $q->execute();
    $row = $q->fetchAll();
    $sql = "DELETE FROM filmovi WHERE id = :filmID";
    $query = $pdo->prepare($sql);
    $query->bindParam(':filmID', $delete_id, PDO::PARAM_INT);   
    $query->execute();
    $image = $row['slika'];
    unlink("assets/img/movies/.'$image");
    header("Location: index.php?movies");
    die();
}
unlink("assets/img/movies/.'$image");

假设$image包含"image.jpg"。您构建的路径是

assets/img/movies/.'image.jpg

你最想要的是

unlink("assets/img/movies/". $image);

一个评论帮助了我,但是他删除了。我移除了FetchAll,只留下Fetch。它现在工作没有任何错误。这是代码:

<?php
$pdo = connect();
if (isset($_GET['delete'])) {
    $delete_id =   $_GET['delete']; 
    $img = "SELECT * FROM filmovi WHERE id = $delete_id";
    $q = $pdo->prepare($img);
    $q->execute();
    $row = $q->fetch();
    $sql = "DELETE FROM filmovi WHERE id = :filmID";
    $query = $pdo->prepare($sql);
    $query->bindParam(':filmID', $delete_id, PDO::PARAM_INT);   
    $query->execute();
    $image = $row['slika'];
    unlink("assets/img/movies/$image");
    header("Location: index.php?movies");
    die();
}