Я пытаюсь удалить записи из базы данных mysql с помощью php-файла и по какой-то причине он не работает. Соединение (в «connect.php») работает, поскольку я использую тот же файл для своих операторов SELECT и тех, которые работают. У меня возникают проблемы с их удалением. Любые идеи, что я делаю неправильно? Заранее спасибо!
<?php include "include/connect.php"; if($link === false){ die("ERROR: Could not connect. " . mysql_connect_error()); } $word = (isset($_GET['email']) ? $_GET['email'] : null); $sql = "DELETE * from tbl_sbs WHERE eml='" . word . "'"; $result = mysql_query($sql); ?>
Вы не используете *
или имя столбца для оператора DELETE
если в WHERE
для целей фильтрации не указано так же, как в SELECT
. Это должно быть просто
$sql = "DELETE from tbl_sbs";
Общий синтаксис DELETE
DELETE FROM TABLE_NAME WHERE COLUMN_NAME <comparison_operator> SOME_FILTER_CONDITION
Итак, в вашем случае это должно быть просто
$sql = "DELETE FROM tbl_sbs WHERE eml='" . $word . "'";
Сообщение об ошибках должно было бы дать вам неопределенное уведомление о постоянном знаке; ЕСЛИ это не опечатка в '" . word . "'
.
*
И проверив ошибки, бросил бы вам следующее:
У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MySQL, для правильного синтаксиса для использования рядом с '*
Рекомендации:
И вы должны использовать $ перед именем переменной (word)
$sql = "DELETE from tbl_sbs WHERE eml='" . $word . "'";