完全删除用户

时间:2014-08-22 19:45:10

标签: php delete-row sql-delete

如果用户或管理员想要从网站上完全删除用户。您将如何设置查询以从包含用户ID的每个表/子表中删除该用户。以下是包含子表的表格列表,其中可能包含单个用户的可能ID。

  1. 用户
  2. 专辑 - user_id
  3. block - user1_id
  4. blogdata_comments - comment_poster
  5. blogdata_feedback - feedback_userid
  6. 朋友 - user1_id或user2_id
  7. messages - message_creator OR message_target
  8. 通知 - notification_targetuser或notification_triggeredby
  9. photo_comments - photo_comment_poster
  10. streamdata - streamitem_creator或streamitem_target
  11. streamdata_comments - comment_poster
  12. streamdata_feedback - feedback_userid
  13. userphotos - photo_ownerid

1 个答案:

答案 0 :(得分:2)

@Dave我可能会对此不以为然但我认为你可以做这样的事情,这也会阻止用户创建一个新帐户。

你显然需要在下面制作自己版本的基本代码,但它应该有用吗?

修改 只是觉得你已经需要他们的IP了

$db = new mysqli ('host', 'username', 'password', 'database');

$removeUser = "DELETE FROM (user, albums, block, and-so-on) WHERE `user-id`='$user'";

if(removeUser = $db->query($removeUser)){
    $ipAddr = $_SESSION['REMOTE_ADDR'];
    $banList = "INSERT INTO banned (ipAddr) VALUES ('$ipAddr')"

        die($user . 'removed from all tables');

    if($banList = $db->query($banList)){
        die($user . 'Added to banned list');
    }else{
        die('Error adding ' . $user . ' to banned list');
    }
}else{
    die ('Unable to remove user from all tables');
}