我想先从uploads文件夹中删除文件,然后再从数据库中删除行数据。我使用了下面的代码,但它给出了错误。error=>没有这样的文件或目录
function deleteItem($conn,$product_id)
{
$stmtgetfile=$conn->prepare("SELECT * FROM tbl_item WHERE product_id=:product_id");
$stmtgetfile->bindParam('product_id',$product_id);
$stmtgetfile->execute();
$row = $stmtgetfile->fetch(PDO::FETCH_ASSOC);
$item=$row['product_photo'];
$path="../uploads/".$item;
unlink($path);
// $stmtdelete=$conn->prepare("DELETE FROM tbl_item WHERE product_id=:product_id");
// $stmtdelete->bindParam('product_id',$product_id);
// if($stmtdelete->execute())
// return true;
// return false;
}
2条答案
按热度按时间scyqe7ek1#
你需要修好这个房间
$path
值以获取实际路径。你可以用__DIR__
相同的常数。并且,也使用file_exists()
函数来检查文件是否确实存在,然后再尝试删除它。数据库中的某些文件路径现在似乎不存在。另外,如果你只是需要
product_photo
列值,不使用Select *
. 将准备查询语句更改为:阅读:为什么选择*被认为是有害的?
xu3bshqb2#
使用
$_SERVER['DOCUMENT_ROOT']
获取根目录的绝对路径。