Hoq*_*que 27 sql sql-server-2005
当我尝试以下SQL命令时,我得到了sql错误.
INSERT INTO exampleTbl VALUES('he doesn't work for me')
Run Code Online (Sandbox Code Playgroud)
哪里不包含撇号.
将带有'(撇号)的文本插入SQL表的方法是什么?
Lau*_*ves 65
在SQL中,执行此操作的方法是将撇号加倍:
'he doesn''t work for me'
Run Code Online (Sandbox Code Playgroud)
如果以编程方式执行此操作,则应使用接受参数的API并为其转义,例如预处理语句或类似语句,而不是转义并使用字符串连接来组合查询.
INSERT INTO exampleTbl VALUES('he doesn''t work for me')
Run Code Online (Sandbox Code Playgroud)
如果您通过ASP.NET添加记录,则可以使用SqlParameter对象传入值,这样您就不必担心用户输入的撇号.
尝试这个
INSERT INTO exampleTbl VALUES('he doesn''t work for me')
Run Code Online (Sandbox Code Playgroud)
小智 6
$value = "he doesn't work for me";
$new_value = str_replace("'", "''", "$value"); // it looks like " ' " , " ' ' "
INSERT INTO exampleTbl (`column`) VALUES('$new_value')
Run Code Online (Sandbox Code Playgroud)