Wyszukuje tylko pierwszy wyraz z ciągu - LIKE

0

Cześć, nie mogę rozwiązać problemu z wyszukiwarką. Stworzyłem sobie takie oto zapytanie. Korzystam z PDO(dlatego zastosowałem bindowanie):

SELECT a.id_product, a.product_name
JOIN `products` AS `a`
WHERE `product_name` LIKE CONCAT(:searchPhrase, '%') 
GROUP BY `product_name`

Zapytanie niby, pozornie zwraca wyniki wyszukiwania lecz ogranicza się tylko do pierwszego słowa wyniku.

Przykład: załóżmy, że w bazie mam np. 3 produkty o nazwach:

  1. Jakiś produkt numer jeden
  2. Jakiś produkt numer dwa
  3. Jakiś produkt numer trzy

Gdy wpiszę w wyszukiwarkę słowo: "Jakiś" otrzymam wszystkie trzy wyniki i tu jest ok. Natomiast gdy wpiszę słowo: "produkt" nie otrzymam żadnego wyniku, tak samo jest ze słowami: "numer", oraz "jeden", "dwa", "trzy".

Dlaczego tak się dzieje i jak to naprawić?

5

Dodać % także przed stringiem, tak zeby matchować cokolwiek przed szukanym wyrażeniem. A tak bardziej generalnie to zalecam rozumieć co robisz, bo teraz wygląda tak jakbyś ten % dodał sobie bo gdzieś znalazłeś a nie dlatego że rozumiesz po co.

1 użytkowników online, w tym zalogowanych: 0, gości: 1