我在使用php从mysql数据库中删除图片时遇到了麻烦。向数据库添加图像效果很好,它将显示/检索图像没有问题,但不会正确删除它们。它不会删除选定的图像,始终是数据库中的第一个图像。我已经使用特定的文件名和id对它进行了测试,所以我知道它是有效的,只是它似乎没有针对所选的图像。
图片库表由: id,imagename,assoc_table(类别)&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);
} 发布于 2010-09-20 23:00:28
发布于 2010-09-20 23:00:00
移动
unset($_POST['imagename']); 在第二个示例中的$sql之后。您正在删除$_POST‘’imagename‘并尝试在以后使用它。
发布于 2010-09-20 23:00:21
这里有些地方不对劲:
unset($_POST['imagename']);
$sql = "DELETE FROM isgallery WHERE imagename = '".$_POST['imagename']."'";https://stackoverflow.com/questions/3752650
复制相似问题