psycopg2
DB-API 2.0のルールに従います(PEP-249で設定)。つまり、execute
を呼び出すことができます cursor
からのメソッド オブジェクトを作成し、pyformat
を使用します バインディングスタイル、そしてそれはあなたのために脱出を行います。たとえば、次の 安全である(そして働く):
cursor.execute("SELECT * FROM student WHERE last_name = %(lname)s",
{"lname": "Robert'); DROP TABLE students;--"})