Voglio eseguire la seguente query con un singolo valore quotato.Inserire valori con quotazione singola in PostgreSQL
INSERT INTO web_camp_keywords (web_id, keyword) VALUES (195, 'abc'hotels')
Voglio solo aggiungere il valore abc'hotels
. Ho usato il backslash, ma non ha funzionato.
INSERT INTO web_camp_keywords (web_id, keyword) VALUES (195, 'abc\'hotels')
Come posso risolvere questo?
prova INSERT INTO web_camp_keywords (web_id, parola chiave) VALORI (195, 'abc''hotels') . ma perché non una dichiarazione preparata? –
tnx. Non ho esperienza sulla dichiarazione preparata. Ci proverò. –
@Asurya quindi la tua applicazione è PIENO di quelli che sono chiamati buchi di sicurezza di iniezione SQL. Immagina cosa succede se l'utente che ha inserito 'abc'hotels' in un modulo invece è entrato in' abc '; CANCELLA DA web_camp_keywords; - 'o peggio,' abc '; DROP SCHEMA public CASCADE; - '? * splat *, ci va l'intero database. Vedi http://en.wikipedia.org/wiki/SQL_injection (* Nota: il trucco 'DROP SCHEMA' non dovrebbe funzionare se la tua app si collega solo con le autorizzazioni minime richieste - non dovrebbe possedere le tabelle o essere un superutente - ma la tua app è probabilmente il proprietario dei tavoli. *) –