आपने % को बाउंड वेरिएबल में रखा है। तो आप करते हैं
stmt.setString(1, "%" + likeSanitize(title) + "%");
stmt.setString(2, "%" + likeSanitize(artist) + "%");
आपको एस्केप' जोड़ना चाहिए!' आपको उन विशेष पात्रों से बचने की अनुमति देने के लिए जो LIKE . के लिए महत्वपूर्ण हैं आपके इनपुट में।
शीर्षक . का उपयोग करने से पहले या कलाकार आपको विशेष वर्णों (! . से बचकर उन्हें (जैसा ऊपर दिखाया गया है) साफ करना चाहिए , % , _ , और [ ) इस तरह की एक विधि के साथ:
public static String likeSanitize(String input) {
return input
.replace("!", "!!")
.replace("%", "!%")
.replace("_", "!_")
.replace("[", "![");
}