Функции Удалить данные из базы данных - PullRequest
0 голосов
/ 18 марта 2019

У меня возникла проблема, когда я пытался удалить какую-то свою базу данных персонажей через веб-сайт панели управления пользователя.

Вот мои коды функций:

function DeleteChar() {
global $pdo;
if($_POST['name'] !== ''&& $_POST['characterid'] !== ''){
    $charname = $_POST['name'];
    $delchar = $_POST['characterid'];
    $query = $pdo->prepare("SELECT * FROM `characters` WHERE `name` = :namechar");
    $query->execute(array(
        ':namechar' => $charname
    ));
        if($_SESSION['adminlvl'] == 5 || $_SESSION['adminlvl'] == 10) {
                $query2 = $pdo->prepare("DELETE from `characters` where `characters`.`characterid` = :del_char and `name`= :namechar");
                $query2->execute(array(
                    ':del_char' => $delchar,
                    ':namechar' => $charname
                    ));

     if($query->rowCount() > 0) {
            Logs(2, "Successfully deleted the character from the database");
            GetMessage("Congratulation!", "Successfully deleted ". $charname . " ! ", 3);
        }
        else {
            GetMessage("Oh snap!", "Failed to delete" . $charname . " from the database!", 1);
            }
    }   
    else {
        GetMessage("Oops!", "Unable to delete the character from the database!", 1);
        }
}
else {
    GetMessage("Oh snap!", "Character name is empty!", 1);
    }
echo "<meta http-equiv='refresh' content='2'>";
}

$_SESSION['adminlvl'] == 5 || $_SESSION['adminlvl'] == 10 только для специального уровня администратора, который может попытаться удалить символ из базы данных.

Мой стол characters заполнен 'name' 'characterid' and 'userid'

Я пробовал это почти два дня, и не знал, где именно проблема.

Во всяком случае, у меня есть схожий functions с этим, и это работает

function RemoveStaff() {
global $pdo;
if($_POST['forumname'] !== '') {
    $forumname = $_POST['forumname'];
    if($_SESSION['adminlvl'] == 9 || $_SESSION['adminlvl'] == 10) {
        $query = $pdo->prepare("UPDATE `users` SET `adminlvl` = '0' WHERE `user` = :username");
        $query->execute(array(
            ':username' => $forumname
        ));
        if($query->rowCount() > 0) {
            Logs(2, "Successfully kicked " . $forumname . " from the staff team");
            GetMessage("Congratulation!", "Successfully kicked " . $forumname . " from the staff team!", 3);
        }
        else {
            GetMessage("Oh snap!", "Failed to kick user from the staff team!", 1);
        }
    } 
    else {
        GetMessage("Oops!", "Unable to remove ".$forumname." from the staff team", 1);
    }
}
else {
    GetMessage("Oh snap!", "UCP name is empty!", 1);
}
echo "<meta http-equiv='refresh' content='2'>";
}

второй function RemoveStaff() работает, хотя. Но первый не работает. Я хотел бы знать, кто может выяснить проблему.

...