[MySQL][PHP] LIKE a wielkość liter |
[MySQL][PHP] LIKE a wielkość liter |
28.04.2017, 10:23:55
Post
#1
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 0 Dołączył: 22.02.2004 Ostrzeżenie: (0%) |
Witam,
Mam zmienna : Kod $nazwa_produktu = str_replace(' ', '%', $_POST['nazwa_produktu']); podstawiam pod zapytanie : Kod mysql_query("select * from towary where EAN like '%".$_POST['kod_ean']."%' and Nazwa like '%".$nazwa_produktu."%' order by Grupa asc"); W bazie jest nazwa towaru : Owoce Świata Pomelo 400ml12szt jak wpisze w wyszukiwaniu na stronie Owoce Świa to dostaje wynik, jednak jak wpisze Owoce świa wyniku nie dostaję Jak rozwiązać ten problem ? |
|
|
28.04.2017, 10:30:51
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Wyszukiwanie po wielkości liter zależy od ustawionego COLLATE.
-------------------- |
|
|
28.04.2017, 10:39:49
Post
#3
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 0 Dołączył: 22.02.2004 Ostrzeżenie: (0%) |
Czyli trzeba to ustawić po stroni MySQL ? czy w zapytaniu ?
|
|
|
28.04.2017, 10:55:21
Post
#4
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) |
Poczytaj o wyszukiwaniu pełnotekstowym, lepsze już to niż taki like - wyniki będą beznadziejne i nic nie warte w przypadku dużej ilości danych, a samo zapytanie może zabić bazę.
|
|
|
28.04.2017, 10:57:53
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Czyli trzeba to ustawić po stroni MySQL ? czy w zapytaniu ? Jak ustawisz po stronie mysql nie będziesz musiał w zapytaniu. Mam nadzieję że to zapytanie nie jest publiczne? sql injection. -------------------- |
|
|
28.04.2017, 11:01:40
Post
#6
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 0 Dołączył: 22.02.2004 Ostrzeżenie: (0%) |
Dziękuje za zainteresowanie temat - a po stronie mysql to gdzie tego szukać ?
|
|
|
28.04.2017, 11:07:22
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
-------------------- |
|
|
28.04.2017, 16:45:07
Post
#8
|
|
Grupa: Zarejestrowani Postów: 189 Pomógł: 13 Dołączył: 20.09.2008 Skąd: Lublin Ostrzeżenie: (0%) |
COLLATE to jedno rozwiązanie, a drugie to ILIKE - porównuje bez względu na wielkość liter.
ale tak, jak @lukaskolista pisał - poczytaj o wyszukiwaniu pełnotekstowym |
|
|
28.04.2017, 16:52:09
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Chyba pomyliłeś z postgresem Tak słabo z ilike w mysql.
-------------------- |
|
|
28.04.2017, 17:48:41
Post
#10
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) |
Poczytaj sobie ten przykład.
http://forum.php.pl/index.php?showtopic=253821 |
|
|
Wersja Lo-Fi | Aktualny czas: 18.04.2024 - 10:52 |