首頁  >  文章  >  後端開發  >  如何使用 Go 安全地連接 SQL 查詢中的字串?

如何使用 Go 安全地連接 SQL 查詢中的字串?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-31 21:47:01934瀏覽

How to Safely Concatenate Strings in SQL Queries with Go?

在Go 中的SQL 查詢中連接字串

雖然文字SQL 查詢提供了一種簡單的資料庫查詢方法,但了解將字串文字與值連接的正確方法至關重要以避免語法錯誤和類型不匹配。

提供的查詢語法:

query := `SELECT column_name FROM table_name
        WHERE column1_name = %d AND column2_name = %d` % (val1, val2)

由於使用 Python 樣式元組而導致語法錯誤。相反,使用fmt.Sprintf 連接字串和值:

query := fmt.Sprintf(`SELECT column_name FROM table_name
                     WHERE column1_name = %d AND column2_name = %d`, val1, val2)

或者,您可以使用db.Query 連接字串而不進行字串插值:

query := `SELECT column_name FROM table_name
        WHERE column1_name = %d AND column2_name = %d`

rows, err := db.Query(query, val1, val2)

記住地址注入使用準備好的語句而不是字串插值來修復漏洞。

以上是如何使用 Go 安全地連接 SQL 查詢中的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn