2010-10-17 4 views
5

Utilizzo di python con un database sqlite - qual è il metodo utilizzato per eseguire l'escape dei dati in uscita e estrarre i dati in uscita?python e sqlite - input di escape

Utilizzando pysqlite2

Google ha suggerimenti contrastanti.

risposta

20

Utilizzare il secondo parametro args per passare argomenti; non sfuggire a te stesso. Non solo è più facile, ma aiuta anche a prevenire attacchi di SQL injection.

cursor.execute(sql,args) 

per esempio,

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

Grazie, io non ero sicuro del modo in pitone, sono ben consapevole di attacchi SQL ed è per questo che sto cercando di trovare modo migliore in python. Grazie, vedremo se ci sono altri commenti su questo e provatelo. – Wizzard

+0

@Wizzard, unutbu ha ragione, funziona e ti farà risparmiare un sacco di mal di testa. Per l'altra parte della tua domanda: pysqlite2 ti restituirà gli oggetti dal DB nel formato corretto, quindi puoi utilizzarli direttamente come int, float, string, datetime, ... – eumiro