ホームページ > データベース > mysql チュートリアル > SQL パラメーターは LIKE ステートメントで効果的に使用できますか?

SQL パラメーターは LIKE ステートメントで効果的に使用できますか?

DDD
リリース: 2025-01-02 16:24:39
オリジナル
882 人が閲覧しました

Can SQL Parameters Be Used Effectively with LIKE Statements?

SQL の LIKE ステートメントでのパラメーターの使用

検索関数を開発する場合、SQL インジェクション攻撃などの潜在的なセキュリティ リスクを最小限に抑えることが重要です。 1 つのアプローチは、SQL クエリでパラメーターを使用することです。ただし、LIKE ステートメントでパラメーターを使用すると、問題が発生する可能性があります。

次のクエリは、LIKE ステートメントでの意図されたパラメーターの使用法を示しています。

SELECT * FROM compliance_corner WHERE (body LIKE '%@query%') OR (title LIKE '%@query%')
ログイン後にコピー

ただし、このクエリでは何も生成されません。結果。これにより、パラメータはこのコンテキストで適用可能ですか、それともこの例のように制限されていますか?

SELECT * FROM compliance_corner WHERE body LIKE '%<string>%'
ログイン後にコピー

さらに、ユーザーは SQL Server で結果を返す代替クエリを提供しました:

SELECT * FROM compliance_corner WHERE (body LIKE '%max%') OR (title LIKE%max%')
ログイン後にコピー

LIKE ステートメントでパラメーターを効果的に使用するには、以下の VB.NET コード スニペットを参照することをお勧めします。

Dim cmd as New SqlCommand( _
"SELECT * FROM compliance_corner" _
+ " WHERE (body LIKE @query )" _
+ " OR (title LIKE @query)")

cmd.Parameters.Add("@query", "%" +searchString +"%")
ログイン後にコピー

以上がSQL パラメーターは LIKE ステートメントで効果的に使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート