텍스트 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