2011-12-01 9 views

Odpowiedz

56

podwójny apostrof:

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

Używaj sparametryzowanych zapytań, jeśli robisz to z poziomu programu. Widzisz tutaj atak SQL Injection. – Andrew

3

spróbować

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

Jeśli dodajesz rekord przez ASP.NET, można użyć obiektu SqlParameter przejść w wartościach więc nie musisz martwić się o apostrofy, do których użytkownicy wprowadzają.

-3

możesz użyć ukośnika odwrotnego \ ', jeśli chcesz wyświetlać jako ingle cytuj w swoim tekście.

INSERT INTO exampleTbl VALUES ('Nie robi (\') t ');

+0

Czy konieczny jest otwarty nawias wokół \ ' – Hoque

+1

Ukośnik odwrotny nie jest prawidłowym sposobem uniknięcia tego w SQL Server –

-2

Tak, serwer sql nie zezwala na wstawianie pojedynczego cudzysłowu w polu tabeli z powodu ataku sql injection. więc musimy zapisać pojedyncze przydział dwukrotnie podczas zapisywania.

(on nie działa dla mnie) musi być => (nie zadziała on dla mnie)

+4

"Serwer sql nie pozwala wstawić pojedynczego cudzysłowu w polu tabeli z powodu ataku sql injection" nie jest poprawnym zrozumieniem. –

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

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

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

Tu nie chodzi o PHP, ale o SQL – Bono

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

używać podwójnego apostrofu wewnątrz pojedynczego apostrofu, będzie działać

Powiązane problemy