PL / SQL转义字符,如for语句

时间:2015-12-17 17:23:53

标签: plsql escaping special-characters

我试图搜索但没有找到答案。

我用PL / SQL,HTML,CSS和Javascript创建了一个Web应用程序。

人们可以搜索文章并撰写评论这些文章。 如果他们点击提交按钮,它就会开始搜索客户的条件。

我将条件作为参数发送并存储到变量中。

之后我启动Statement并使用新记录刷新页面。 如果有人用特殊字符(如

)撰写评论
  

(&,%,“,',_)

我的页面崩溃,因为Statement字符串不再正确。

声明看起来像

SELECT * FROM myTable
WHERE Name LIKE ('''%'||nameVar||'%''');

请原谅我的英语 感谢

1 个答案:

答案 0 :(得分:1)

好的,首先你关于“ESCAPING”的问题导致我走错了方向,因为你可以为类似的Statement定义一个“ESCAPE”字符:这将在你的Statement文字中取你的%或_:

where ..... like '%\%%' ESCAPE '\' 

应该在列中找到带有%的记录。

但这不是你的问题!

您的Web应用程序必须对您的字符串进行HTML编码 - 然后您可以将其存储在任何数据库中。

这必须由您的前端(无论是什么:ASP.NET,PHP等等)

完成

经过短暂的Google搜索后,我发现:HTF Package,HTF.ESCAPE_SC函数对可在SQL语句中使用的字符串进行编码。

也许此链接可以帮助您:https://docs.oracle.com/cd/B14099_19/web.1012/b15896/pshtp.htm