sql >> データベース >  >> RDS >> Mysql

JavaのPreparedStatementsのワイルドカード

    %を束縛変数に入れます。だからあなたは

       stmt.setString(1, "%" + likeSanitize(title) + "%");
       stmt.setString(2, "%" + likeSanitize(artist) + "%");
    

    ESCAPE'!'を追加する必要があります LIKEにとって重要な特殊文字をエスケープできるようにします 入力します。

    タイトルを使用する前に またはアーティスト 特殊な文字()をエスケープして、(上記のように)それらをサニタイズする必要があります 、 _ 、および [ )次のような方法で:

    public static String likeSanitize(String input) {
        return input
           .replace("!", "!!")
           .replace("%", "!%")
           .replace("_", "!_")
           .replace("[", "![");
    } 
    



    1. SQLクエリを高速化する方法

    2. ループせずにphpとmysqlを使用してスコアテーブルから誰かの「ランク」を取得する最善の方法

    3. データベースからのフルカレンダーJavaScriptでのイベントの入力

    4. PHPをサポートする無料のWebホスティング