The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.
|
 |
|
Dev Shed Forums
> Programming Languages
> Python Programming
|
Storing BLOB in MySql DB
Discuss Storing BLOB in MySql DB in the Python Programming forum on Dev Shed. Storing BLOB in MySql DB Python Programming forum discussing coding techniques, tips and tricks, and Zope related information. Python was designed from the ground up to be a completely object-oriented programming language.
|
|
 |
|
|
|
|

Dev Shed Forums Sponsor:
|
|
|

January 28th, 2004, 02:30 PM
|
|
Junior Member
|
|
Join Date: Nov 2002
Location: Nomadic
Posts: 14
Time spent in forums: < 1 sec
Reputation Power: 0
|
|
|
Storing BLOB in MySql DB
I was wondering if someone had an example of storing data in a BLOB field in mysql.
I want to archive emails from my email server.
After extracting the header, to, from, msgid I would like to store the body of the email in a blob field.
I am running in to a problem with the unprintable charaters interfering with the SQL statement.
If you have a working example I would appreciate if you could post here.
I think what I am looking for is something equivalent to PHP's stripquotes addquotes functions ... but maybe not ?
|

January 28th, 2004, 05:32 PM
|
 |
Hello World :)
|
|
Join Date: Mar 2003
Location: Hull, UK
|
|
I havn't got an example for this one but i think you want a raw string which should escape the special chars i.e.
Code:
>>> 'blob \ \\blob\blob'
'blob \\ \\blob\x08lob'
>>> r'blob \ \\blob\blob'
'blob \\ \\\\blob\\blob'
Note: The diferance being raw strings have r at the start
Think this is what you want, since theres no function called stripquotes or addquotes in PHP (or at least not on the website) i couldn't really look them up.
Mark.
__________________
programming language development: www.netytan.com – Hula
|

January 31st, 2004, 07:35 PM
|
 |
Banned ;)
|
|
Join Date: Nov 2001
Location: Woodland Hills, Los Angeles County, California, USA
|
|
Depending on your version of MySQLdb, you can do this on newer versions:
Code:
sql = "INSERT INTO sometable (col1, col2) VALUES (%s, %s)"
cursor.execute(sql, (val1, val2))
On older versions of MySQLdb, you have to use escape_string() to properly escape the string.
Code:
sql = "INSERT INTO sometable (col1, col2) VALUES (%s, %s)"
cursor.execute(sql, (MySQLdb.escape_string(val1), MySQLdb.escape_string(val2))
__________________
Up the Irons
What Would Jimi Do? Smash amps. Burn guitar. Take the groupies home.
"Death Before Dishonour, my Friends!!" - Bruce D ickinson, Iron Maiden Aug 20, 2005 @ OzzFest
Down with Sharon Osbourne
|

February 1st, 2004, 01:22 PM
|
 |
Hello World :)
|
|
Join Date: Mar 2003
Location: Hull, UK
|
|
So using raw strings you could have be done something like this... but since MySQLdb now escapes by default? This seems pretty pointless!
Code:
sql = "INSERT INTO table (col1, col2) VALUES (%r, %r)"
cursor.execute(sql, (val1, val2))
Oh, you have unbalenced parenthesise in that last example scrop
Mark.
|
Developer Shed Advertisers and Affiliates
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|