Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Dziwne zapytanie
Forum PHP.pl > Forum > Przedszkole
Compiler
Witam,
Otóż dostałem od kolegi kod, który mu nie działa.
Wyszło, że zapytanie nie zwraca wyniku i oto one:
  1. SELECT * FROM `e_user` WHERE `user_class` LIKE '%,".$r[grupa]."%' COLLATE latin2_general_ci


Pytanie jest ok tylko nie rozumiem co to : '%,".$r[grupa]."%' questionmark.gif
Cysiaczek
Zapewne powinno wyglądać to tak:

  1. $sql="SELECT * FROM `e_user` WHERE `user_class` LIKE '%,".$r['grupa']."%' COLLATE latin2_general_ci";
Compiler
Pytanie jest dobre.
Nie wiem tylko co znaczy '%,".$r['grupa']."%' questionmark.gif
Brick
LIKE %piwo% oznacza: znajdź frazę "piwo" w podanym polu w tabeli, bez względu na to czy występuje na początku, na końcu czy w środku ciągu znaków.

W podanym przypadku zamiast "piwo" jest zapewne wynik jakiegoś innego zapytania: $r['grupa'].
Dodatkowo przed słowem jest wstawiony przecinek czyli MySQL zwróci wszystkie wyniki które mają w tekście poszukiwane słowo ale z przecinkiem na początku. Myślę że ten przecinek jest niepotrzebny i zapytanie powinno być takie:
  1. SELECT * FROM `e_user` WHERE `user_class` LIKE '%".$r['grupa']."%' COLLATE latin2_general_ci


W związku z tym że do zapytania jest wstawiony element tablicy $r['grupa'] to wstawienie go do kodu wymagało dodania kropek.
Dla czytelności kodu można to zrobić tak:
$zmienna = $r['grupa'];
  1. SELECT * FROM `e_user` WHERE `user_class` LIKE '%$zmienna%' COLLATE latin2_general_ci
Compiler
Wielkie dzięki smile.gif
Sprawdzę, czy pomoże.
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.