нужна помощь в запросе

Тема в разделе "Базы данных", создана пользователем MysticW0, 19 мар 2014.

Модераторы: latteo
  1. MysticW0

    MysticW0 Постоялец

    Регистр.:
    17 янв 2014
    Сообщения:
    111
    Симпатии:
    3
    Суть такова. Есть к примеру база users в ней есть столбец familija в столбце разные фамилии, как мне сделать что бы поменять в этом столбце допустим все фамилии test на test1 но при этом не изменив фамилии test3 test4 test5 и т.д и т.п ?

    С меня спасибо
     
  2. Alekc

    Alekc Постоялец

    Регистр.:
    9 мар 2014
    Сообщения:
    50
    Симпатии:
    26
    Шумадан, latteo и MysticW0 нравится это.
  3. MysticW0

    MysticW0 Постоялец

    Регистр.:
    17 янв 2014
    Сообщения:
    111
    Симпатии:
    3
    Есть еще вопрос, есть таблица допустим users в ней есть user_id как мне удалить всех user_id допустим начиная с 105 и до 205 user_id но при этом не удалить от 0 до 104 и от 206 и выше ? вообщем удалить промежуток как то ?
     
  4. Alekc

    Alekc Постоялец

    Регистр.:
    9 мар 2014
    Сообщения:
    50
    Симпатии:
    26
    delete from users where user_id > 104 and user_id < 205
     
    MysticW0 нравится это.
  5. MysticW0

    MysticW0 Постоялец

    Регистр.:
    17 янв 2014
    Сообщения:
    111
    Симпатии:
    3
    Вот еще столкнулся с проблемой суть такова при нажатие на определенную кнопку удаляется какае то вещь с личного рюкзака пользователя.Есть в базе строка bonus в которой есть us_id(определяет юзера с базы) и есть ID той вещи которую надо удалить у пользователя.
    вот запрос с кода
    PHP:
    mysql_query("DELETE FROM `bonus` WHERE `us_id`='".$user['id']."' AND `item_id`='111111494' LIMIT `1`"); 
    Вопрос в том где тут в запросе ошибка так как с личного рюкзака не пропадает товар ?
     
  6. Alekc

    Alekc Постоялец

    Регистр.:
    9 мар 2014
    Сообщения:
    50
    Симпатии:
    26
    выпишите куда нибудь в лог
    PHP:
    "select * FROM `bonus` WHERE `us_id`='".$user['id']."' AND `item_id`='111111494' LIMIT `1`"
    Чтобы посмотреть что именно выполняется.
     
  7. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    Посмотрите ман по mysql_query и сделайте хотя бы минимальную обёртку для вывода ошибок для вашего уровня это сильно поможет :) :
    PHP:
    $result mysql_query('SELECT * WHERE 1 = 1');
    if (!
    $result) {
        die(
    'Неверный запрос: ' mysql_error());
    }
    http://www.php.net/manual/ru/function.mysql-query.php

    Так же стоит прочитать мануал по элементарным операциям с БД, тогда всё эти вопросы отпадут.

    Ошибка в последнем запросе из-за использования LIMIT `1` - оператор DELETE лимитируется только через условия в WHERE
     
  8. MysticW0

    MysticW0 Постоялец

    Регистр.:
    17 янв 2014
    Сообщения:
    111
    Симпатии:
    3
    ну вот как то так Неверный запрос: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE 1 = 1' at line 1. Для изучения у меня щас особо времени нет но как решу это проблему с этим запросом пойду по ссылке почитаю ) Проблема в в us_id ?
     
  9. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    просто везде где надо использовать mysql_query подставляй предложенную конструкцию
    В твоём случае:
    PHP:
    $result mysql_query("DELETE FROM `bonus` WHERE `us_id`='".$user['id']."' AND `item_id`='111111494' LIMIT `1`");
    if (!
    $result) {
        die(
    'Неверный запрос: ' mysql_error());
    }

    Для того чтобы заработало надо просто удалить LIMIT `1` и получится:
    PHP:
    mysql_query("DELETE FROM `bonus` WHERE `us_id`='".$user['id']."' AND `item_id`='111111494'");
     
  10. MysticW0

    MysticW0 Постоялец

    Регистр.:
    17 янв 2014
    Сообщения:
    111
    Симпатии:
    3
    Ну вот ошибки не выдает вообще не какой но при этом у юзера этот товар/вещь остается, бреееед