Php 删除类别时取消多个图像的链接
在我的数据库中,当我删除一个类别时,库存表中具有相同类别的所有项目都将被删除,因此图像也应被删除,因此我尝试了此代码。我认为我的代码中没有问题,因为我在一个图像行上尝试了此代码,但当我涉及多行时,它不起作用。这里是我的代码Php 删除类别时取消多个图像的链接,php,mysqli,Php,Mysqli,在我的数据库中,当我删除一个类别时,库存表中具有相同类别的所有项目都将被删除,因此图像也应被删除,因此我尝试了此代码。我认为我的代码中没有问题,因为我在一个图像行上尝试了此代码,但当我涉及多行时,它不起作用。这里是我的代码 if (isset($_POST['del'])) { $del = mysqli_query($conn,"DELETE FROM category WHERE id='$id'"); if ($del) { $selstock = mysqli_query
if (isset($_POST['del'])) {
$del = mysqli_query($conn,"DELETE FROM category WHERE id='$id'");
if ($del) {
$selstock = mysqli_query($conn," SELECT img FROM stock WHERE category='$name' ");
while($row2=mysqli_fetch_assoc($selstock))
{
$img1=$row2['img'];
unlink("product_img/$img1");
}
header("location:addcategory.php");
}
}
$name是类别
文件夹路径和URL是正确的,它与1行一起工作
我看到其他人也这么做,他们和我一样,但我的却不起作用
有人能告诉我我做错了什么吗您的代码容易受到SQL注入的攻击。您应该使用准备好的语句。您正在Linux或Windows上执行代码吗?因为可能存在权限问题。。
if (isset($_POST['del'])) {
// Image Query
$selstock = mysqli_query($conn," SELECT * FROM tablename WHERE categoryId ='$id' ");
if($selstock)
{
while($delImage=mysqli_fetch_assoc($selstock))
{
foreach($delImage as $key => $value)
{
$delLink = $value['img']; // first try
/*$delLink = $value['img][$key]*/ // secound try
unlink($delLink);
}
}
}
// Delete Query
$del = mysqli_query($conn,"DELETE FROM category WHERE id='$id'");
if($del)
{
header("location:your.php");
}
}