SQL クエリでの LIKE ステートメントでのパラメータの使用と SQL インジェクションの防止
データベース クエリでは、パラメータの使用は悪意のある SQL を防ぐための重要な習慣です注射攻撃。ただし、LIKE ステートメントを使用する場合は、構文に関する特定の考慮事項が発生します。
質問: LIKE ステートメントでパラメーターを使用することは可能ですか?可能であれば、どのようにすればよいですか?
回答: はい、LIKE ステートメントでパラメーターを使用できます。ただし、文字列の連結を適切に処理することが重要です。
パラメータ化された LIKE ステートメントの構文:
SELECT * FROM table_name WHERE (column_name LIKE @parameter)
でのパラメータの使用VB.NET:
Dim cmd As New SqlCommand( "SELECT * FROM compliance_corner "_ + " WHERE (body LIKE @query ) "_ + " OR (title LIKE @query)") cmd.Parameters.Add("@query", "%" + searchString + "%")
説明:
例クエリ:
SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE '%max%')
このクエリは、本文またはタイトル列に部分文字列が含まれるすべてのレコードを取得します。 「最大」。
以上がインジェクション攻撃を防ぐために SQL の LIKE ステートメントでパラメーターを安全に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。