Go 中的等效SQL 查詢串聯
在Python 中,使用% 運算子可以直接連接SQL值。但是,在 Go 中,此方法可能無法按預期工作。
要解決此問題,Go 程式設計師可以使用 fmt.Sprintf 函數。以下程式碼範例示範了連接字串和值的正確方法:
<code class="go">query := fmt.Sprintf(`SELECT columnA FROM tableA WHERE columnB = %d AND columnB = %s`, SomeNumber, SomeString)</code>
此方法可確保正確格式化和處理值。此外,在查詢中嵌入用戶提供的資料時,注意注入攻擊的潛在漏洞也至關重要。為了減輕這種風險,請考慮使用以下方法:
<code class="go">query := `SELECT column_name FROM table_name WHERE column1_name = %d AND column2_name = %d` rows, err := db.Query(query, Val1, Val2)</code>
透過對查詢和值使用單獨的參數,您可以防止惡意輸入更改查詢的結構或意圖。
以上是如何在 Go 中連接 SQL 查詢中的字串和值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!