首頁 > 資料庫 > mysql教程 > SQL 參數能否有效地與 LIKE 語句一起使用?

SQL 參數能否有效地與 LIKE 語句一起使用?

DDD
發布: 2025-01-02 16:24:39
原創
841 人瀏覽過

Can SQL Parameters Be Used Effectively with LIKE Statements?

在SQL 中的LIKE 語句中使用參數

開發搜尋功能時,盡量減少SQL 注入攻擊等潛在安全風險至關重要。一種方法是在 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板