日期:2014-05-17  浏览次数:20995 次

sql语句写入单引号的问题
sql="select * from info where name='"&request("n1")&"' and ver='"&request("v1")&"' and id="&request("id")

我要往上面的语句里写入单引号“'”,也就是说request("n1")有可能含有单引号,上面的语句要怎么改才能写入单引号?

------解决方案--------------------
一个换成两个
------解决方案--------------------
sql="select * from info where name='"& replace(request("n1"),"'","''") &"' and ver='"&request("v1")&"' and id="&request("id")
------解决方案--------------------
建议把SQL语句中所有输入的部分都替换一下,否则会有注入漏洞
VB code
sql="select * from info where name='"&Replace(request("n1"),"'", "''")&"' and ver='"&Replace(request("v1"), "'", "''")&"' and id="&Replace(request("id"), "'", "''")

------解决方案--------------------
单引号是英式的还是?
------解决方案--------------------
换成''美式的
------解决方案--------------------
探讨
建议把SQL语句中所有输入的部分都替换一下,否则会有注入漏洞
VB codesql="select * from info where name='"&Replace(request("n1"),"'","''")&"' and ver='"&Replace(request("v1"),"'","''")&"' and id="&Replace(request("id"),"'","''")

------解决方案--------------------
顶者有分
------解决方案--------------------
顶者有分
------解决方案--------------------
路过受教中。
------解决方案--------------------
路过接分