[Tutor] Python CGI Script
Mike Hansen
Mike.Hansen at atmel.com
Thu Sep 21 16:38:40 CEST 2006
> -----Original Message-----
> From: Alan Gauld [mailto:alan.gauld at freenet.co.uk]
> Sent: Thursday, September 21, 2006 2:51 AM
> To: Mike Hansen; tutor at python.org
> Subject: Re: [Tutor] Python CGI Script
>
> > sql_statement = "INSERT INTO images (image) VALUES (%s)"
> > cur.execute(sql_statement, (data_obj, ))
> >
> >Is it just moving the variable substitution to the execute statement
> >as
> > a tuple, so it will perform the proper quoting?
>
> Nope, the syntax changes slightly, and I believe depends on the
> database driver you use. For SqlLite (and I think for MySql) its a
> question mark
>
> > sql_statement = "INSERT INTO images (image) VALUES (?)"
> > cur.execute(sql_statement, data_obj)
>
> And I don;t think you need the tuple form unless you have multiple
> values.
> And you can do it in one line too:
>
> cur.execute("INSERT INTO images (image) VALUES (?)", data_obj)
>
> Alan G.
>
>
In my case, I'm using psycopg2 for PostgreSQL. I just did a test, and it
doesn't seem to like the ? syntax. I'll check the documentation to see
if there's a setting to have it use the ? syntax.
Thanks,
Mike
More information about the Tutor
mailing list