Поиск точного значения id

Тема в разделе "Базы данных", создана пользователем TecT, 30 июл 2012.

Статус темы:
Закрыта.
Модераторы: latteo
  1. TecT

    TecT Пользователь для ТесТа

    Регистр.:
    25 фев 2009
    Сообщения:
    457
    Симпатии:
    44
    Доброе время суток.
    Есть такая проблема. Делаю поиск через LIKE, ищет всё нормально но вот загвоздка в том что если есть две категории допустим 8 и 18 и если надо чтоб выводилось всё категории 8 то выводится и всё что связанно с категорией 18, то есть он выводит обе эти категории так же если б были категории 8 18 28 38 и так далее
    Так вот как бы сделать чтоб он искал именно 8 и не перекидывался на другие категории содержащие в ID цифру 8.
     
  2. latteo

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

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.549
    Симпатии:
    1.436
    Ну как бы like для такого поиска и создан, если надо точная цифра, да еще и в id используй символ = или оператор IN для нескольких значений:
    ... WHERE `id` = 8
    ... WHERE `id` IN (8,15,89)
     
    TecT нравится это.
  3. pavlin

    pavlin Писатель

    Регистр.:
    28 ноя 2011
    Сообщения:
    3
    Симпатии:
    2
    Странно... У меня WHERE `id` LIKE '8' Находит только 8,
    А вот
    WHERE `id` LIKE '%8%' у меня ищет 8, 18, 28, 38, 81, ...
    WHERE `id` LIKE '8%' у меня ищет 8, 81, ...

    Но для поиска целочисленных (int) значений лучше пользоваться знаком "="
    WHERE `id` = 8


    П.С.
    Подскажите, а то что ниже тоже верные утверждения?
    WHERE `id` LIKE '8%1' найдет 81, 811, 8001,...
    WHERE `id` LIKE '8%1%' найдет 81, 810, 8165, 8014,...
    WHERE `id` LIKE '%8%1%' найдет 581, 78810, 8165, 8014,...
    WHERE `id` LIKE '%8%' AND `id` LIKE '%1%' найдет 81, 18, 818,...

    latteo: красивый тролинг :ay: Тем кто изучает LIKE рекомендую ответить для себя на эти вопросы. А тему close.
     
    latteo нравится это.
Статус темы:
Закрыта.