【发布时间】:2016-09-09 21:35:17
【问题描述】:
我正在学习 php 和 mysql。现在我需要一些帮助来使用 $_GET 方法删除图像。我可以从文件夹中取消链接图像,但不能从数据库列中取消链接。这是userinfo 表列的我的数据库结构是-
user_id|用户名|电子邮件|密码|部门|位置|名字| 姓氏|状态|用户图片|加入日期|修改
这是我的 php 代码:
<?php
include 'sql.php';
if(isset($_GET['delete_id']))
{
// select image from db to delete
$select_img = mysql_query("SELECT user_pic FROM userinfo WHERE user_pic
=" .$_GET['delete_id']);
$db_field= mysql_fetch_array($select_img);
unlink("assets/img/user_images/".$db_field['user_pic']);
//delete from db
mysql_query("DELETE FROM userinfo WHERE user_id=".$_GET['delete_id']);
if($select_img===false){
die(mysql_error());
}
else
{?>
<script>
window.alert('Delete images Success!!!');
</script>
<?php
header("refresh:2;user_profile_settings.php");
}
}
?>
// here is the HTML part Which display using while loop
<a class="btn close" href="?delete_id=<?php echo $userpic; ?>" title="click
for delete" onclick="return confirm('sure to delete ?')" >×</a>
<img src="assets/img/user_images/<?php echo $userpic; ?>" />
我知道这是非常简单的代码。我想了解这就是我发布此内容的原因。我已经厌倦了很多技术,但每次我都失败了。这个你能帮我吗。 提前谢谢
【问题讨论】:
-
您很容易受到sql injection attacks 的攻击,所以不用担心——一旦有人为您删除了您的整个数据库,您的“无法从数据库中删除”问题很快就会得到解决。另外,你在说删除成功。你不检查“删除”查询的状态,只检查原始的“选择”查询,所以你只是假设什么都不会出错。
-
您想使用 UserID 删除图像吗?如果是,您应该先编辑它: user_pic =" .$_GET['delete_id']
-
@MarcB 先生,我正在学习基础知识。我知道那次袭击。为什么我要为学习撒谎。 unlink() 函数确实有效。无论如何感谢您的建议
-
想删除图片或用户信息
-
@devpro 是的,昨晚从 MR 那里得到了这个解决方案。死婴。并且 userinfo(table) 在同一行中包含 user_id 和 user_pic 列。我已在我的问题中附加了我的数据库 userinfo(table) 列。我没有提到专栏是我的错误。
标签: php mysql while-loop