0
파이썬에서 동적 인 mysql 쿼리를 안전하게 매개 변수화하는 방법에 대해 궁금합니다. 동적 인 경우 if 문이 평가되는 방식에 따라 변경된다는 것을 의미합니다.어떻게 동적으로 파이썬 mysql 쿼리를 안전하게 매개 변수화합니까?
필자는 파이썬에서 mysql 쿼리를 매개 변수화하는 방법을 다음과 같이 백분율 기호 대신 쉼표를 사용하여 이해합니다.
c.execute("SELECT * FROM foo WHERE bar = %s AND baz = %s", (param1, param2))
다음은 '동적 쿼리'의 예입니다. 백분율 기호를 사용하는 것보다 더 안전한 방법을 찾고 있습니다.
def queryPhotos(self, added_from, added, added_to):
sql = "select * from photos where 1=1 "
if added_from is not None:
sql = sql + "and added >= '%s' " % added_from
if added is not None:
sql = sql + "and added = '%s' " % added
if added_to is not None:
sql = sql + "and added <= '%s' " % added_to
통찰력 부탁드립니다.
물음표 ('query ='select * from table where thing =?)를 사용하여 sql 쿼리 문자열을 조합하십시오. 및 기타 =? "'c.execute (query, [param1.param2]) 행을 따라 뭔가를하십시오. – Nullman