图像从文件夹取消链接但无法从数据库列中删除

时间:2016-09-09 21:35:18

标签: php mysql while-loop

我正在学习php和mysql。现在我需要一些使用$ _GET方法删除图像的帮助。我可以取消链接图像与文件夹,但不能从数据库列取消链接以下是userinfo表列的数据库结构 -

  

USER_ID |用户名|电子邮件|密码|科|位置| FIRST_NAME |   姓氏|状态| user_pic | join_date |改性

这是我的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 ?')"  >&times;</a>
 <img src="assets/img/user_images/<?php echo $userpic; ?>" />

我知道这是非常简单的代码..我想知道这就是为什么我发布这个。我已经厌倦了很多技术但每次都失败了。这个你能帮我吗。 提前谢谢

1 个答案:

答案 0 :(得分:1)

DELETE FROM删除整行。 由于foreign keys或其他原因,我很确定它会拒绝。

如果您只想清空列,则应使用UPDATE

$query = "UPDATE userinfo SET user_pic='' WHERE user_id='$_GET['delete_id']'";
mysql_query($query);

您还应该听取其他人的意见并考虑切换到MYSQLI,但更重要的是,防止SQL注入!