ciao
per evitare problemi di sql-injection ho fatto una funzione che converte le stringhe rendendole 'sicure' prima di metterle nel DB, ad esempio:
il problema che sorge è questo, quando faccio una query dove cerco un elemento che ho inserito utilizzando quella funzione lo script va in errore, ad esempiocodice:Function c_campo(stringa) stringa = server.HTMLEncode(stringa) stringa = Replace(stringa, "'", "''") stringa = Replace(stringa, "%", "[%]") stringa = Replace(stringa, "[", "[[]") stringa = Replace(stringa, "]", "[]]") stringa = Replace(stringa, "_", "[_]") stringa = Replace(stringa, "#", "[#]") c_campo = stringa End Function
se inserisco
casa_nome
nel db va casa[_]_nome
il prob è che quando faccio una query sul db io dico:
select * from tabella where campo='casa[_]nome'
e lo script mi da il seguente errore:
evidentemente non considera le [ ] come parti del testo... cosa posso fare?codice:Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi (operatore mancante) nell'espressione della query 'nome = inserimento[_]contatti'.

Rispondi quotando