За последние 24 часа нас посетили 15276 программистов и 1671 робот. Сейчас ищут 884 программиста ...

Проблема с удалением данных с БД

Тема в разделе "PHP для новичков", создана пользователем Magnum, 1 янв 2016.

  1. Magnum

    Magnum Активный пользователь

    С нами с:
    19 июл 2015
    Сообщения:
    62
    Симпатии:
    0
    Подскажите пожалуйста, почему не удаляются записи с БД?
    Или оно так не удаляет? А то опыта мало, не знаю:)
    Скажу сразу, что нужно чтобы удалялись все записи связанные с этим id (их там несколько в каждой из таблиц).
    Или там нужно циклом всё удалять? Вроде через phpmyadmin всё работает, а тут не хочет.

    Код (PHP):
    1. <? 
    2.  
    3. if (isset($user['id']) && $user['level'] == 1 && isset($_GET['ok'])) {
    4.     
    5.     $q = mysql_query("DELETE FROM `offers` WHERE `id` = '".$deleteid."'");
    6.     $q = mysql_query("DELETE FROM `offers_comm` WHERE `offerid` = '".$deleteid."'");
    7.     $q = mysql_query("DELETE FROM `offers_golos` WHERE `postid` = '".$deleteid."'");
    8.     
    9.     echo '<div class="ok">Успешное yдаление</div>';
    10. }
    11.  
    12. ?>
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а где переменная deletedid объявляется?
    ну а по поводу цикла-не-цикла - можно заюзать одну лишь конструкцию IN()
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Когда не работает sql-запрос, способ отладки есть только один: вместо отправки запросов вывести их на экран. Я обычно это делаю примерно так:
    Код (PHP):
    1. if (isset($user['id']) && $user['level'] == 1 && isset($_GET['ok'])) {
    2.     
    3.     /*$q = mysql_query*/ die("DELETE FROM `offers` WHERE `id` = '".$deleteid."'");
    4.     $q = mysql_query("DELETE FROM `offers_comm` WHERE `offerid` = '".$deleteid."'");
    5.     $q = mysql_query("DELETE FROM `offers_golos` WHERE `postid` = '".$deleteid."'");
    6.     
    7.     echo '<div class="ok">Успешное yдаление</div>';
    8. } 
    И любуюсь. Обычно, если sql запрос не работает, выведется какая-нибудь фигня, и тут я понимаю: "блин, я забыл инициализировать переменную $deleteid" или что-то в этом роде
     
  4. Magnum

    Magnum Активный пользователь

    С нами с:
    19 июл 2015
    Сообщения:
    62
    Симпатии:
    0
    $deleteid = intval($_GET['id']);

    Передается с предыдущей страницы вывода всех постов
     
  5. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Проверь ,передается переменная
    Код (Text):
    1. var_dump($deleteid)