Select fails when cookie tried to get a numeric value

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


Στις 5/10/2013 5:24 μμ, ο/η Νίκος Αλεξόπουλος έγραψε:
> Στις 5/10/2013 4:59 μμ, ο/η Chris Angelico έγραψε:
>> On Sat, Oct 5, 2013 at 11:38 PM, Νίκος Αλεξόπουλος
>> <nikos.gr33k at gmail.com> wrote:
>>> cur.execute('''INSERT INTO visitors (counterID, cookieID, host, city,
>>> useros, browser, ref, lastvisit) VALUES (%s, %s, %s, %s, %s, %s, %s,
>>> %s)''',
>>> (cID, vip, host, city, useros, browser, ref, lastvisit) )
>>> =======================================
>>> The above code i wrote gives me the following error:
>>>
>>>
>>> [Sat Oct 05 13:33:24 2013] [error] [client 108.162.229.114]   File
>>> "/home/nikos/public_html/cgi-bin/metrites.py", line 209, in <module>
>>> [Sat Oct 05 13:33:24 2013] [error] [client 108.162.229.114]
>>> cur.execute('''SELECT * FROM visitors WHERE counterID = %s and
>>> cookieID =
>>> %s''', (cID, vip) )
>>
>> No, I don't think it does give you that error! Nikos, you've been
>> around this group a good while; why can you not learn to read an
>> exception traceback? Find line 209, which (as Ned said) is the one to
>> focus on, and look at it. If you can't figure it out yourself, at the
>> VERY least do us all a courtesy and show us the actual code that's
>> having the problem!
>
> But i have given you the line that produces the error:
>
> # 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:
>      message  = "ΑΠΟ ΔΩ ΚΑΙ ΣΤΟ ΕΞΗΣ ΔΕΝ ΣΕ ΕΙΔΑ, ΔΕΝ ΣΕ ΞΕΡΩ, ΔΕΝ ΣΕ
> ΑΚΟΥΣΑ! ΘΑ ΕΙΣΑΙ ΠΛΕΟΝ Ο ΑΟΡΑΤΟΣ ΕΠΙΣΚΕΠΤΗΣ!!"
>      cookie['ID'] = random.randrange(0, 10000)
>      cookie['ID']['path'] = '/'
>      cookie['ID']['expires'] = 60*60*24*365    #this cookie will expire
> in a month
>
>
>
> 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?

The line is that is failign is any line of any insert update, sleect 
staments that thats cookieID invilded like:

[Sat Oct 05 14:26:24 2013] [error] [client 108.162.229.114]   File 
"/home/nikos/public_html/cgi-bin/metrites.py", line 219, in <module>
[Sat Oct 05 14:26:24 2013] [error] [client 108.162.229.114] 
cur.execute('''SELECT * FROM visitors WHERE counterID = %s and cookieID 
= %s''', (cID, cookieID) )


-- 
What is now proved was at first only imagined! & WebHost
<http://superhost.gr>



More information about the Python-list mailing list