I'm having trouble loading an image into a Postgre database. The code is below as well as the traceback in the apache log. Is something up with my sqlStatement? Do I need to use something other than %s? How can I avoid that type error?
Thanks, Mike #! /usr/bin/env python import cgi from pyPgSQL import PgSQL # from pyPgSQL.PgSQL import PgBytea def main(): form = cgi.FieldStorage() if form.has_key("filename"): item = form["filename"] imageName = form["imagename"] if item.file: data = item.file.read() data_obj = PgSQL.PgBytea(data) connectdb =PgSQL.connect('server:port:database:username:password') cur = connectdb.cursor() sqlStatement = """INSERT INTO images (image) VALUES (%s); """ % (data_obj) cur.execute(sqlStatement) cur.close() connectdb.commit() print "Content-type: text/html\n\n" print "image loaded" if __name__ == '__main__': main() Traceback (most recent call last): File "/var/www/htdocs/mtest/imagetest.py", line 28, in ? main() File "/var/www/htdocs/mtest/imagetest.py", line 20, in main cur.execute(sqlStatement) File "/usr/lib/python2.3/site-packages/pyPgSQL/PgSQL.py", line 3038, in execute self.res = self.conn.conn.query(_qstr) TypeError: query() argument 1 must be string without null bytes, not str [Tue Jun 21 14:34:46 2005] [error] [client 10.95.100.11] Premature end of script headers: /var/www/htdocs/mtest/imagetest.py10.95.100.11] Premature end of script _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor