>> query = '''UPDATE cost_grid
>>                SET cost_1 = %s
>>                WHERE cost_grid_id = %s
>>                AND finish_dro = %s''''  % ( a,c,b)
>> c.execute(query)
>
> Yikes! Alan! Certainly you know what an SQL injection attack is? And what 
> if the data contains special characters?
>
> For those who don't know, imagine what happens in the above if
> b = '91.4; drop table cost_grid;'

Yes that's true and a very good point, you do need to do some validation
if the inputs are coming from, for example a web site. Creating the string
yourself means taking responsibility for checking the parameters. If thats 
an
issue execute() is probably a better bet, in my work thats never an issue
since the data normally comes to me well formatted.

Alan G 

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to