Удаление из таблицы с использованием PHP и MySQL

0

Похоже, что у вас есть ошибка, пытающаяся удалить канавку (имена пользователей) из таблицы SQL с использованием запросов PHP/SQL. Мой текущий код выглядит следующим образом:

<html lang="en" >
<body>
<?php
        $conn = new mysqli('localhost', 'myUsername', 'myPassword', 'dbName') or die ('Cannot connect to db');

        $uname=$_POST['uname'];

        $conn->query("DELETE FROM Account WHERE username = $uname");

        echo '<script type="text/javascript">';
        echo 'alert("-ADMIN-\nRemoved user successfully!");';
        echo 'window.location.href = "admin.php";';
        echo '</script>';
?>
</body>
</html>

Этот точный код работает, чтобы удалить сообщение с веб-сайта из другой таблицы, но не удалять учетные записи пользователей по имени пользователя. Есть идеи?

Теги:

2 ответа

1

предположительно $uname - это строка, а username столбца также является строкой, поэтому вам нужно указать переменную в строке

$conn->query("DELETE FROM Account WHERE username = '$uname'");

Однако это оставляет ваш код открытым для SQL-инъекции, поэтому вам лучше использовать подготовленный оператор

$stmt=$conn->prepare("DELETE FROM Account WHERE username = ?" );
$stmt->bind_param('s', $uname );
$stmt->execute();
0

Оформить заказ

<?php
$conn = new mysqli('localhost', 'myUsername', 'myPassword', 'dbName') or die ('Cannot connect to db'); 
 $stmt = $conn->prepare('DELETE FROM Account WHERE username = ?');
 $stmt->bind_param('s', $_POST['uname']); 
 $stmt->execute();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню