Mam pewien problem, potrzebuję wydać do serwera SQL za "jednym zamachem" bardzo długoe zapytanie.
Może mieć od 20 - 50 (!sic) parametrów.
Na szczęscie porównywane dane są w 100 % statyczne.
przykład: wyświetl materiały gdzie tytul jest równy "ala ma kota a kot ma ale" .
ma więc zostać wykonane takie coś:
<?php SELECT xxx from tabela where tytul='ala' OR tytul='ma' OR tytul='kota' OR tytul='a' OR (....) i tak do końca. ?>
Przy 50 "ORach" , serwer sqł się wyłożył i uciął w połowie moje zapytanie.
phpMyAdmin pokazał to samo (...) i zignorował resztę która była mniej więcej od połowy.
Pytanie teraz co zrobić.
Próbowałem użyć komendy
<?php SELECT *, MATCH(tytul) AGAINST ('ala ma kota a kot ma ale') AS wartosc ?>
Ale, np tekst w stylu kota, był wykrywany przez np kotsa, ktosa, posia, zosia.
Wiadomo że miał inną "wartość" ale nie było jednoznaczne.
W tym wypadku muszę mieć 100 % pewność że wartość się zgadza.
Mogę zrobić to w pętli PHP, ale wysłanie 50 zapytań do serwera bazodanowego pod rząd z tekstem where xxx='xx' end zapytania, obliczenie rezultatu, kolejne zapytanie (...) - w prostej linii spowoduję utratę pracy.- I cachowanie nie pomoże

Ewentualnie może Macie jakąś koncepcję, to podam co chce osiągnąć.
Mamy dwa miasta
"poznań", "wrocław".
(nazwa pola = miasto)
teraz mamy pole tytulu
nazwa pola = tytul
i muszę wydrukować z serwera
powtarzające się rezultaty dla 2 miast.
Moja koncepcja zakładała by pobrać napierw jedno miasto, poznań - zrobić listę TOP 50 nazw tytułów " or tytul1 or tytul 2 "
nastepnie zadać to zapytanie dopisujac WHERE miasto=wroclaw, i dostanę listę ile z tych tytułów powtarza się we wrocławiu.
Może dało by się to zrobić na poziomie jednego zapytania SQL.
dokładnie to chcę osiągnąć:

Muszę wydrukowac listę materiałów które sa z "poznania" i "wroclawia" oraz zawierające taki sam tytuł.