在PDO中解除链接的麻烦

时间:2018-01-24 05:24:44

标签: php mysql pdo

我试图取消关联数据库中已删除的文件。数据已成功删除,但文件不会取消链接。

请帮我查一下我的代码。我搜索了很多,但我认为我的代码没有任何问题。



public function delCategory($c_id)
    {
      $stmt1 = $this->conn->prepare("SELECT * FROM tbl_content LEFT JOIN tbl_files USING (c_id) WHERE c_id=:unlink_id");
      $stmt1->execute(array(":unlink_id"=>$c_id));
      $unlinkRow=$stmt1->fetch(PDO::FETCH_ASSOC);
      unlink("admin/cover_images/".$unlinkRow['c_cover']);
      unlink("admin/content_files/".$unlinkRow['cont_file']);

      $stmt = $this->conn->prepare("DELETE tbl_files, tbl_content FROM tbl_files LEFT JOIN tbl_content ON tbl_files.c_id=tbl_content.c_id WHERE tbl_files.c_id=:id");
      $stmt->bindparam(":id",$c_id);
      $stmt->execute();
      return true;
    }




1 个答案:

答案 0 :(得分:1)

假设您从与admin文件夹相同的目录中调用该文件,请尝试以下操作:

unlink(__DIR__."/admin/cover_images/".$unlinkRow['c_cover']);
unlink(__DIR__."/admin/cover_images/".$unlinkRow['cont_file']);

否则,你需要尝试其他人所说的:

unlink($_SERVER['DOCUMENT_ROOT']."/admin/cover_images/".$unl‌inkRow['c_cover'])
unlink($_SERVER['DOCUMENT_ROOT']."/admin/cover_images/".$unl‌​inkRow['cont_file'])