Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: MATCH AGAINST
Forum PHP.pl > Forum > Bazy danych > MySQL
Korab
Witam!
Mam tabelę ranking, w której mam trzy pola: id_stajni - id stajni, na którą głosujemy, suma_glosow - suma oddanych głosów oraz adres_ip - adresy ip głosujących oddzielone przecinkami.
Przykładowa tabela wygląda tak:
Kod
|-------------------------------------------------------------------|
| id_stajni   | suma_glosow |    adres_ip                           |
|-------------------------------------------------------------------|
| 1           | 8          | 198.9.9.1,199.1.1.1                    |
| 2           | 12         | 222.22.22.22,223.23.23.23,123.23.42.12 |
|-------------------------------------------------------------------|

Żeby sprawdzić, czy głosujący nie głosował na tą stajnię poprzednio, wysyłam zapytanie do bazy danych:
  1. SELECT * FROM ranking WHERE MATCH(`adres_ip`) AGAINST("199.1.1.1")

I to zwraca mi pusty wynik.
Co jest nie tak z tym zapytaniem? Przecież adres 199.1.1.1 jest w bazie. Co zrobić, żeby zwracało dobry wynik?
wookieb
Doczytaj co to jest wyszukiwanie pełnotekstowe (FULLTEXT) i jak działa (jest o tym napisane w manualu MySql). A potem zastanów sie, czy Twoje pytanie jest stosowne.
Crozin
A tak poza tym to adresy IP powinieneś trzymać w osobnej tabeli, każdy oddzielnie, i w ogóle zapomnieć o wyszukiwaniu pełnotekstowym.
Korab
Już to zrobiłem w inny sposób. Dzięki za rady!
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.