Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyszukiwanie danych
Forum PHP.pl > Forum > Przedszkole
fire_dept
Witam,

Mam problem z wyszukiwaniem danych w mysql.

Plik PHP jest kodowany w UTF-8 bez BOM
Jest zmienna $search, która przychodzi z $_GET['search'] i trzyma dane do wyszukiwania dodatkowo potraktowana jest mysql_real_escape_string()

a tak wygląda najprostsze zapytanie z którym jest problem.

  1. mysql_query("SET NAMES 'utf8'");
  2. mysql_query("SET CHARACTER_SET_CLIENT=utf8");
  3. mysql_query("SET CHARACTER_SET_RESULTS=utf8");
  4. $products = mysql_query("SELECT * FROM produkty WHERE nazwa LIKE '%$search%' LIMIT 10");


To zapytanie nie zwraca nic, natomiast kiedy zastąpie zmienną $search słowem np. podłokietnik zapytanie zostanie wykonane, chociaż zmienna $search zawiera już słowo podłokietnik. Wyszukiwanie działa bez problemu, jeżeli w wyrazie nie ma polskiej czcionki.

Baza danych jak i tabele ustawione są na utf8_general_ci
poli25
a jak przechodzi z innej strony to na tamtej stronie moze masz inne kodowanie ?
luki100011
dodaj taką linijkę
  1. echo "SELECT * FROM produkty WHERE nazwa LIKE '%$search%' LIMIT 10"

i zobacz jakie tworzone jest zapytanie może to pomorze rozgryźć gdzie tkwi problem
fire_dept
Nie uwierzycie ale problemem był najprawdopodobniej cache w smarty.
Wyczyściłem cache w smarty, przeglądarce i na stronie i pomogło, czy to było problemem nie wiem ręki sobie nie dam uciąć ale pomogło i wszystko działa.
Dzięki za pomoc i poświęcony czas.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.