Protecting against SQL injection in python
From the documentation:
con.execute("insert into person(firstname) values (?)", ("Joe",))
This escapes "Joe"
, so what you want is
con.execute("insert into person(firstname) values (?)", (firstname_from_client,))
The DB-API's .execute()
supports parameter substitution which will take care of escaping for you, its mentioned near the top of the docs; http://docs.python.org/library/sqlite3.html above Never do this -- insecure.