プリペアド ステートメントでの "like" ワイルドカードの使用
プリペアド ステートメントは、特にユーザーを処理する場合に、SQL クエリを安全かつ効率的に実行する方法を提供します。入力。プリペアド ステートメントで LIKE キーワードを使用する場合、ワイルドカードを挿入する場所を理解することが重要です。
提供されたコードでは、pstmt.setString(1) に設定されている値に 'keyword%' を直接追加できます。 、注)。これは、コードを次のように変更することを意味します。
PreparedStatement pstmt = con.prepareStatement( "SELECT * FROM analysis WHERE notes like ?"); pstmt.setString(1, notes + "%"); ResultSet rs = pstmt.executeQuery();
メモにワイルドカードを直接追加することで、クエリの実行中に効果的にワイルドカードを値に追加することになります。これにより、前方一致検索を実行できるようになります。
後方一致またはグローバル一致検索の場合は、コードを変更します。したがって:
サフィックス マッチ:
pstmt.setString(1, "%" + notes);
グローバル マッチ:
pstmt.setString(1, "%" + notes + "%");
覚えておいてください、これは重要ですワイルドカードを追加する前に、ノート文字列内の % や _ などの特殊文字を適切にエスケープします。これにより、あいまいなパターンが防止され、正確な結果が保証されます。
以上がSQL のプリペアド ステートメントで LIKE ワイルドカードを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。