Select fails when cookie tried to get a numeric value

Ned Batchelder ned at nedbatchelder.com
Sat Oct 5 10:54:25 EDT 2013


On 10/5/13 10:40 AM, Νίκος Αλεξόπουλος wrote:
> Στις 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?
>
>

Nikos: stop sending so many emails.  You've asked this question 3 times 
now in this thread.  You aren't even giving people a chance to respond.  
If you want immediate feedback, use IRC.  Email takes a little longer.

--Ned.



More information about the Python-list mailing list