2010-10-17 11 views
5

Verwenden von Python mit einer SQLite-Datenbank - was ist die Methode, die zum Ausgehen der Daten und zum Herausziehen der Daten verwendet wird?python und sqlite - Escape-Eingabe

pysqlite2 Mit

Google widersprüchliche Vorschläge hat.

Antwort

20

Verwenden Sie den zweiten Parameter args, um Argumente zu übergeben; mach die Flucht nicht selbst. Dies ist nicht nur einfacher, sondern verhindert auch SQL-Injection-Angriffe.

cursor.execute(sql,args) 

zum Beispiel

cursor.execute('INSERT INTO foo VALUES (?, ?)', ("It's okay", "No escaping necessary") 
+0

Danke, ich war von dem Python-Weg nicht sicher, ich bin sehr wohl bewusst SQL-Angriffe, weshalb ich besten Weg, in Python zu finden versuchen. Danke, werde sehen, ob es noch weitere Kommentare dazu gibt und es versuchen. – Wizzard

+0

@Wizzard, unutbu ist richtig, das funktioniert und wird Ihnen eine Menge Kopfschmerzen ersparen. Für den anderen Teil Ihrer Frage: pysqlite2 wird Ihnen die Objekte aus der DB im richtigen Format zurückgeben, so dass Sie sie direkt als int, float, string, datetime, ... verwenden können. – eumiro