Как удалить из базы данных авторизованного пользователя?
На странице имеется кнопка "Удалить аккаунт", которая ведет на страницу delete_account.php. Нужно чтобы при нажатии на нее авторизованный пользователь удалял свою строку из таблицы. Целый день мучаюсь с этой проблемой. Не подскажите как решить? Часть кода страницы delete_account.php
$host = 'localhost';
$user = 'root';
$pass = 'root';
$db_name = 'diploma';
$link = mysqli_connect($host, $user, $pass, $db_name);
mysqli_query($link, "SET NAMES 'utf8'");
if (isset($_GET['user'])) {
$user = $_GET ['user'];
$query = "DELETE FROM `username` WHERE `name` = 'user'";
mysqli_query($link, $query);
}
Не кидайтесь палками, я всего лишь прошу дать совет, я не такой опытный) Заранее спасибо!
Ответы (1 шт):
Попробуйте:
$query = "DELETE FROM `username` WHERE `name` = '$user'";
Но я бы для начала удостоверился в следующих пунктах:
- Подключились ли вы к базе данных вообще?
- Действительно ли в
GETпараметре name находится имя пользователя - Действительно ли таблица называется
username
Еще вам не мешало бы обернуть входной параметр в mysql_escape_string
$query = "DELETE FROM username WHERE name = '". mysql_escape_string($user) ."'"
Это необходимо для предотвращения SQL инъекций. Чтоб понять зачем это нужно, попробуйте без mysql_escape_string попробовать удалить юзера с именем ' or True or '(именно так, имя должно начинаться и заканчиваться с одинарной кавычки) и посмотрите, что случится в базе данных