psycopg2
tuân theo các quy tắc cho DB-API 2.0 (được thiết lập trong PEP-249). Điều đó có nghĩa là bạn có thể gọi execute
từ cursor
của bạn và sử dụng pyformat
kiểu ràng buộc, và nó sẽ thực hiện việc thoát cho bạn. Ví dụ:điều sau nên an toàn (và làm việc):
cursor.execute("SELECT * FROM student WHERE last_name = %(lname)s",
{"lname": "Robert'); DROP TABLE students;--"})