supponi di avere una tabella, con i campi titolo, testo:
titolo |testo
-----------
roma |bla
venezia |bla
milano |bla
e devi cercare nel titolo la variabile $q = 'eoma';
Non la trovi, e supponi si possa trattare di un errore di battitura.
A questo punto: select ... where levenshtein('$q', titolo) <= 1. Ti restituira "roma". (suppongo sai gia' cos'e' la distanza levenshtein, se no -> google) Ovviamente puoi mettere la differenza di 2, in tal caso te la trova anche se uno scrive eama, ma aumentano le possibilita' di risultati irrilevanti o di collisioni. Bisogna bilanciare in base alle esigenze reali.
Mi dispiace, non ho nessun link, ma come vedi e' tutto molto facile.
Ora mi sono ricordato invece che su mysql nativamente non esiste levenshtein. Io avevo compilato una funzione in c, e installato come udf su mysql (per la velocita'). Esiste invece anche la versione funzione normale, l'ho trovata qui e qui . In questa versione non l'ho mai usata, ma potrebbe andar bene.