当我尝试以下SQL命令时,出现sql错误。将具有'(撇号)的文本插入到SQL表中的方法
INSERT INTO exampleTbl VALUES('he doesn't work for me')
其中不包含撇号。
将具有'(撇号)的文本插入SQL表格的方法是什么?
当我尝试以下SQL命令时,出现sql错误。将具有'(撇号)的文本插入到SQL表中的方法
INSERT INTO exampleTbl VALUES('he doesn't work for me')
其中不包含撇号。
将具有'(撇号)的文本插入SQL表格的方法是什么?
双撇号:
'he doesn''t work for me'
试试这个
INSERT INTO exampleTbl VALUES('he doesn''t work for me')
INSERT INTO exampleTbl VALUES('he doesn''t work for me')
如果你通过ASP.NET添加记录,您可以使用的SqlParameter对象的值传递,所以你不必担心用户输入的撇号。
如果要显示为'\',则可以使用反斜杠'\'在你的文字中引用单引号。
INSERT INTO exampleTbl VALUES('He doesn(\')t');
在' – Hoque
反斜杠附近需要的开放括号是否不正确的方式来逃避SQL Server –
是的,由于SQL注入攻击,sql服务器不允许在表字段中插入单引号。所以我们必须在保存时加倍替换单一的appostrophe。
(他不为我工作)必须=>(他那并不为我工作)
“SQL服务器不允许在表字段中插入单引号由于SQL注入攻击”不是一个正确的理解。 –
$value = "he doesn't work for me";
$new_value = str_replace("'", "''", "$value"); // it looks like " ' " , " ' ' "
INSERT INTO exampleTbl (`column`) VALUES('$new_value')
这不是关于PHP,而是关于SQL的具体内容 – Bono
insert into table1 values("sunil''s book",123,99382932938);
使用双撇号单引号内, 将工作
如果您是从程序后端执行此操作,请使用参数化查询。您实际上看到在这里发生SQL注入攻击。 – Andrew