>백엔드 개발 >파이썬 튜토리얼 >매개변수화된 SQL 쿼리에서 'TypeError: 문자열 서식을 지정하는 동안 모든 인수가 변환되지 않음'을 수정하는 방법은 무엇입니까?

매개변수화된 SQL 쿼리에서 'TypeError: 문자열 서식을 지정하는 동안 모든 인수가 변환되지 않음'을 수정하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-06 06:33:14243검색

How to Fix

매개변수가 있는 SQL 쿼리: "TypeError: 문자열 형식 지정 중에 모든 인수가 변환되지 않음" 해결

매개변수가 있는 SQL 쿼리에서는 올바른지 확인하는 것이 중요합니다. 오류를 방지하기 위한 구문 및 데이터 변환. 매개변수가 있는 쿼리에서 문자열 형식을 사용하려고 하면 "TypeError: 문자열 형식 지정 중에 일부 인수가 변환되지 않았습니다"라는 오류가 발생할 수 있습니다.

이 문제를 해결하려면 %s를 인수의 자리 표시자로 사용하지 마세요. 대신, 인수를 별도의 목록으로 실행() 메서드에 전달하세요. 예를 들면 다음과 같습니다.

import MySQLdb as mdb

class Test:
    def check(self, search):
        con = mdb.connect(...)
        cur = con.cursor()
        cur.execute("SELECT * FROM records WHERE email LIKE %s", [search])
        ...

검색어를 목록에 전달하면 해당 검색어가 쿼리에 변환 및 포함되기 위한 별도의 인수로 처리되어야 함을 명시적으로 나타냅니다. 이 접근 방식을 사용하면 모든 인수가 쿼리에서 올바르게 변환되고 사용됩니다.

위 내용은 매개변수화된 SQL 쿼리에서 'TypeError: 문자열 서식을 지정하는 동안 모든 인수가 변환되지 않음'을 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.