MyTetra Share
Делитесь знаниями!
Экранировать опасные симолы в запросах в psycopg2
Время создания: 11.12.2019 12:54
Автор: br0ke
Текстовые метки: python, psycopg, psycopg2, sql, postgre, postgres, postgresql, escape, secure, query, data, substitute, substitution, placeholder, placeholders, mogrify
Раздел: Информационные технологии - Python - Библиотеки - psycopg2
Запись: and-semakin/mytetra_data/master/base/1576050881eavwh1l5ur/text.html на raw.githubusercontent.com

Экранирование происходит автоматически, если подставлять данные в запрос через %s (позиционно) или $(name)s (именованно):


cursor.execute("query with params %s %s", ("param1", "pa'ram2"))

cursor.execute("query with params %(p1)s %(p2)s", {"p1": "param1", "p2": "pa'ram2"})


Если нужно выполнить экранирование, но не выполнять сам запрос (например, если это часть запроса), то можно использовать mogrify:


>>> cursor.mogrify("(%s, %s, %s)", (1, 2, 3))

b"(1, 2, 3)"


Обратите внимание, что mogrify всегда возвращает байтовую строку.

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования