2011-12-01 106 views

回答

56

双撇号:

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

如果您是从程序后端执行此操作,请使用参数化查询。您实际上看到在这里发生SQL注入攻击。 – Andrew

3

试试这个

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

如果你通过ASP.NET添加记录,您可以使用的SqlParameter对象的值传递,所以你不必担心用户输入的撇号。

-3

如果要显示为'\',则可以使用反斜杠'\'在你的文字中引用单引号。

INSERT INTO exampleTbl VALUES('He doesn(\')t');

+0

在' – Hoque

+1

反斜杠附近需要的开放括号是否不正确的方式来逃避SQL Server –

-2

是的,由于SQL注入攻击,sql服务器不允许在表字段中插入单引号。所以我们必须在保存时加倍替换单一的appostrophe。

(他不为我工作)必须=>(他那并不为我工作)

+4

“SQL服务器不允许在表字段中插入单引号由于SQL注入攻击”不是一个正确的理解。 –

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

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

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

这不是关于PHP,而是关于SQL的具体内容 – Bono

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

使用双撇号单引号内, 将工作

相关问题