Piccolo suggerimento per un inconveniente che mi sono trovato ad affrontare scrivendo un motore di ricerca. I caratteri jolly di sql sono % e _ due caratteri (specialmente il secondo) ke può essere parekkio usato (pensa a dover ricercare in un elenco di membri un determinato username). Per evitare questa cosa devi usare la dichiarazione ESCAPE dopo ogni LIKE nella dichiarazione WHERE.
WHERE nomecampo LIKE '%$variabile%' ESCAPE 'X'
in questo caso X è un carattere che sarà riconosciuto da sql come escape (proprio come la \ di php). Lo possiamo scegliere noi a piacere (io suggerisco un carattere nn presente sulla tastiera). Prima effettuare la query basterà effettuare una replace nella stringa da cercare facendo anteporre ad ogni carattere speciale di sql l'escape! Ed il problema è risolto!


Rispondi quotando