gpt4 book ai didi

PHP/MySQL 数据库图库删除

转载 作者:行者123 更新时间:2023-11-29 14:59:09 25 4
gpt4 key购买 nike

我在使用 php 从 mysql 数据库中删除图像时遇到问题。将图像添加到数据库效果很好,并且显示/检索图像没有问题,但不会正确删除它们。它不会删除所选图像,始终删除数据库中的第一个图像。我已经使用特定的文件名和 ID 对其进行了测试,因此我知道它可以工作,但它似乎并未针对所选图像。

图库表由:id、imagename、assoc_table(category) 和 assoc_object(page-image-is-attached-to) 组成。

希望这是有道理的,非常感谢。

这是用于添加和显示图像的代码:

$galleryQuery=mysql_query("select * from isgallery where assoc_object = '".$_POST['id']."'");
echo '<ul class="gallery">'. PHP_EOL;
while($galleryResult=mysql_fetch_array($galleryQuery)) {
echo '<li><img src="../../images/properties/gallery/'.$galleryResult['imagename'].'" alt="'.$galleryResult['id'].'" width="120" height="120" class="image" /><br />
<label for="delGallery"><input type="checkbox" name="delGallery" value="1" /> Delete this image?</label><br />
</li>
'. PHP_EOL;
}
echo '</ul><br /><br />' . PHP_EOL;
echo '<label for="galleryFile">Add Image (*.jpg / *.gif): </label><input type="file" name="galleryFile" value=""><br />
'.($_POST['imagename'] ? '
<label for="imagename"></label><img src="../../images/properties/gallery/'.$_POST['imagename'].'" width="120" class="image"><br />
<label for="delGallery"></label><input type="checkbox" name="delGallery" value="1" style="margin:0 0 0 7px;"> Delete this image?<br />
' : NULL).'

这是用于从数据库中删除的代码:

if ($_POST['delGallery']=='1') {
file_exists($galleryFileDir.'/'.$_POST['imagename']) ? unlink($galleryFileDir.'/'.$_POST['imagename']) : NULL;
unset($_POST['imagename']);
$sql = "DELETE FROM isgallery WHERE imagename = '".$_POST['imagename']."'";
mysql_query($sql);
}

最佳答案

问题是你的未设置:

 unset($_POST['imagename']); 

在运行查询之前。

另一件重要的事情:防止sql injection使用mysql_real_escape_string

关于PHP/MySQL 数据库图库删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3752650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com