2011-12-01 14 views

risposta

56

doppio apostrofo:

'he doesn''t work for me' 
+3

Usa query parametrizzate se lo fai dal back-end del programma. In questo momento stai assistendo a un attacco di SQL Injection. – Andrew

3

provare questo

INSERT INTO exampleTbl VALUES('he doesn''t work for me') 
7
INSERT INTO exampleTbl VALUES('he doesn''t work for me') 

Se si aggiunge un record tramite ASP.NET, è possibile utilizzare l'oggetto SqlParameter a passare in valori in modo da non devi preoccuparti dell'apostrofo in cui gli utenti entrano.

-3

puoi usare la barra rovesciata '\' se vuoi visualizzare come ingle citazione nel testo.

INSERIRE NELL'esempioTbl VALUES ('Doesn (\') t ');

+0

La parentesi aperta necessaria attorno a \ ' – Hoque

+1

La barra rovesciata non è il modo corretto per evitarlo in SQL Server –

-2

sì, SQL Server non consente di inserire virgolette singole nel campo della tabella a causa dell'attacco di SQL injection. quindi dobbiamo sostituire la singola appatrice in doppia mentre si salva.

(non lavora per me) deve essere => (lui doesn lavoro per me)

+4

"Il server SQL non consente di inserire virgolette singole nel campo della tabella a causa dell'attacco di SQL injection" non è una comprensione corretta. –

0
$value = "he doesn't work for me"; 

$new_value = str_replace("'", "''", "$value"); // it looks like " ' " , " ' ' " 

INSERT INTO exampleTbl (`column`) VALUES('$new_value') 
+0

Non si tratta di PHP, ma di SQL in particolare – Bono

-1
insert into table1 values("sunil''s book",123,99382932938); 

uso doppio apostrofo all'interno di un singolo apostrofo, funzionerà

Problemi correlati