"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Go를 사용하여 SQL 쿼리의 문자열을 안전하게 연결하는 방법은 무엇입니까?

Go를 사용하여 SQL 쿼리의 문자열을 안전하게 연결하는 방법은 무엇입니까?

2024-11-03에 게시됨
검색:875

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)

문자열 보간 대신 준비된 문을 사용하여 주입 취약점을 해결해야 한다는 점을 기억하세요.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3