반응형
이 스크립트를 실행하면 :
#! /usr/bin/env python
import MySQLdb as mdb
import sys
class Test:
def check(self, search):
try:
con = mdb.connect('localhost', 'root', 'password', 'recordsdb');
cur = con.cursor()
cur.execute( "SELECT * FROM records WHERE email LIKE '%s'", search )
ver = cur.fetchone()
print "Output : %s " % ver
except mdb.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
finally:
if con:
con.close()
test = Test()
test.check("test")
다음과 같은 오류가 발생합니다.
./lookup
Traceback (most recent call last):
File "./lookup", line 27, in <module>
test.check("test")
File "./lookup", line 11, in creep
cur.execute( "SELECT * FROM records WHERE email LIKE '%s'", search )
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 187, in execute
query = query % tuple([db.literal(item) for item in args])
TypeError: not all arguments converted during string formatting
나는 이유를 전혀 모른다. 매개 변수화 된 쿼리를 수행하려고하는데 고통에 지나지 않았습니다. 저는 Python을 처음 접했기 때문에 아마도 명백한 문제 일 것입니다.
해결 방법
대신 :
cur.execute( "SELECT * FROM records WHERE email LIKE '%s'", search )
이 시도:
cur.execute( "SELECT * FROM records WHERE email LIKE %s", [search] )
참조 페이지 https://stackoverflow.com/questions/21740359
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python 객체가 "구독 가능"여부는 무엇을 의미합니까? (0) | 2020.12.24 |
---|---|
파이썬 ElementTree 노드 부모 노드에 액세스 (0) | 2020.12.23 |
파이썬 확인하고 읽을 파일이 존재할 때까지 기다립니다. (0) | 2020.12.23 |
파이썬의 sscanf (0) | 2020.12.23 |
파이썬 Pandas 데이터 프레임 총 행 (0) | 2020.12.23 |
댓글