PyODBC: 매개변수 변수를 사용하여 Select 문 수행
이 시나리오에서는 처리량 테이블에서 행을 검색합니다. data['DeviceName']에 저장된 특정 DeviceName. 그러나 이전에 매개변수 변수를 사용하여 SELECT 문을 실행하려는 시도는 실패했습니다.
해결책은 SQL 문에 매개변수화를 사용하는 것입니다. "?"를 사용하여 자리 표시자와 DeviceName을 인수로 전달하면 SQL 주입 및 기타 보안 취약성으로부터 시스템을 보호할 수 있습니다.
수정된 접근 방식은 다음과 같습니다.
cursor.execute("SELECT * FROM Throughput WHERE DeviceName = ?", data['DeviceName'])
매개변수화는 여러 가지 이점을 제공합니다.
수정된 쿼리 스니펫 외에도 다음은 참조용으로 작동하는 코드 예제의 일부입니다.
query = "SELECT * FROM Throughput WHERE DeviceName = '%s'" % data['DeviceName'] try: for row in cursor.execute(query): ...
매개변수화된 또는 보안 강화를 위한 동적 SQL.
위 내용은 PyODBC SELECT 문에서 매개변수 변수를 어떻게 안전하게 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!