Mysql delete query удаляет только два столбца подряд - PullRequest
0 голосов
/ 11 января 2010

У меня есть таблица со следующей структурой,

    FIELD           TYPE          EXTRA
faciltiy_id         int          auto_increment(Primary Key)
hotel_id            int
facility_title      varchar(20)
facility_desc      varchar(300)

Когда я хочу удалить строку с определенным facility_id, я использую код,

DELETE 
FROM   $hotel_facilities
WHERE  facilities_id = '$facilities_id'";

Но вместо всей строки удаляются только поля facility_title и facility_desc. Если я выполню этот запрос напрямую через таблицу через phpmyadmin, он будет работать правильно.

Может кто-нибудь просветить меня, что я делаю неправильно?

1 Ответ

1 голос
/ 11 января 2010

Но вместо всей строки удаляются только поля facility_title иознание_desc. Если я выполню этот запрос напрямую через таблицу через phpmyadmin, он будет работать правильно ...

Поскольку facilities_id является INT, вам не нужно заключать его в одинарные кавычки:

DELETE FROM {$hotel_facilities}
 WHERE facilities_id = {$facilities_id}

Но я думаю, что реальная проблема заключается в том, что вызывается оператор UPDATE, а не оператор DELETE. Главным образом потому, что инструкция DELETE удаляет только целые строки, а не конкретные столбцы.

Вам необходимо проследить, что вызывается при запуске отправки, и распечатать на экран (используя echo или с помощью Javascript, если это более удобно) до выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...