Select fails when cookie tried to get a numeric value

Νίκος Αλεξόπουλος nikos.gr33k at gmail.com
Sat Oct 5 10:40:23 EDT 2013


Στις 5/10/2013 4:53 μμ, ο/η Ned Batchelder έγραψε:

>  From reading the bottom-most frame, you can see that the problem is
> that "val" is an http.cookies.Morsel object.  This means you probably
> tried to use a cookie object as data in your SQL query, and MySQL
> doesn't know what to do with that object.  You'll have to use a more
> primitive piece of data in your query.

# initialize cookie
cookie = cookies.SimpleCookie( os.environ.get('HTTP_COOKIE') )
cookie.load( cookie )
cookieID = cookie.get('ID')

# if browser cookie does not exist, set it
if not cookieID:
	cookie['ID'] = random.randrange(0, 10000)
	cookie['ID']['path'] = '/'
	cookie['ID']['expires'] = 60*60*24*365		#this cookie will expire in a month
	cookieID = cookie.get('ID')
	print( cookie )


In the above code i try to retrive the cookie form the visitor's browser 
and if it does nto exist i create one.



For some reason i think CookieID nevers gets inserted itnot the database 
that's why mysql's select statemnt fails.

When i print CookieID i was under the impression i would see a random 
number like '5369' but instead it display the follwong.

Set-Cookie: ID="Set-Cookie: ID=5369"

The mysql filed CookieID is of datatype's int(5) so it cannto store this 
value.

If iam correct and thi is trully the problem then how can i just get the 
random number part out the whole string?

Do you see something wrong?
Why cookie['ID'] retuned this string back and not just the number?





More information about the Python-list mailing list