Ciao, come giustamente dice Alhazred anche secondo me devi usare una ricerca FULLTEXT, quindi per prima cosa devi modiifcare il campo di conseguenza.
poi per la parte php/mysql ecco un esempio che avevo fatto tempo fa:
Codice PHP:
// questa mi serve per filtrare le stringe che siano almeno di 4 caratteri
function filtro($val){
if(strlen(trim($val))<4){
return false;
} else {
return true;
}
}
$expression = "*".implode("* *", (array_unique(array_filter(explode(" ", $_get['expression']), "filtro"))))."*";
// explode mi serve per far diventare la mia stringa un array
// array_filter mi serve per eliminare gli elementi che contengono stringhe minori di 4 caratteri
// array_unique mi serve per eliminare gli elementi doppi
// implode mi serve per ricostruire la stringa dall' array, gli asterischi mi servono per la tipologia di ricerca che faccio
$recDati = mysql_query("SELECT *, MATCH( nome, testo) AGAINST('".$expression."' IN BOOLEAN MODE) AS attinenza FROM contenuti WHERE MATCH(nome, testo) AGAINST('".$expression."' IN BOOLEAN MODE) ORDER BY attinenza DESC LIMIT 0,20");