2015-12-17 38 views
0

我試過搜索,但沒有找到答案。PL/SQL轉義字符like語句

我用PL/SQL,HTML,CSS和Javascript創建了一個Web應用程序。

人們可以搜索文章,並寫這些文章的評論。 如果他們點擊提交按鈕,它開始搜索客戶的條件。

我將條件作爲參數發送並存儲到變量中。

之後,我開始我的聲明並用新記錄刷新頁面。 如果有人寫了一個有特殊字符像

(&,%,」「,_)

我的頁面崩潰的評論,因爲該聲明字符串不正確了。

該語句看起來象

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

原諒我的英語 感謝

回答

1

好吧,首先你關於「逃離」使我走錯了路,因爲你可以定義一個類似的聲明是「ESCAPE」字的問題:這會花費您%或_在聲明文字:

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

應該在列中找到具有%的記錄。

但這不是你的問題!

您的Web應用程序必須對您的字符串進行HTML編碼 - 然後您可以將其存儲在任何數據庫中。

這已經被你的前端來實現(不管它是什麼:ASP.NET,PHP等)

很短的谷歌搜索,我發現這個後:HTF包,HTF.ESCAPE_SC功能編碼該字符串在SQL語句中可用。

也許這個鏈接可以幫助您:https://docs.oracle.com/cd/B14099_19/web.1012/b15896/pshtp.htm