Escaping confusion with Python 3 + MySQL

Larry Hudson orgnut at yahoo.com
Sun Mar 26 16:59:05 EDT 2017


On 03/26/2017 01:21 AM, Νίκος Βέργος wrote:
> print('''UPDATE visitors SET (pagesID, host, ref, location, useros, browser, visits) VALUES (%s, %s, %s, %s, %s, %s, %s) WHERE host LIKE "%s"''', (pID, domain, ref, location, useros, browser, lastvisit, domain) )
>
> prints out:
>
> UPDATE visitors SET (pagesID, host, ref, location, useros, browser, visits) VALUES (%s, %s, %s, %s, %s, %s, %s) WHERE host LIKE "%s" (1, 'cyta.gr', 'Άμεση Πρόσβαση', 'Greece', 'Windows', 'Chrome', '17-03-24 22:04:24', 'cyta.gr')
>
> How should i write the cursor.execute in order to be parsed properly?
> As i have it now %s does not get substituted.

You don't get the substitution because you're missing a %.

Change:
     ... LIKE "%s"''', (pID, ...
To:
     ... LIKE "%s"''' % (pID, ...

-- 
      -=- Larry -=-


More information about the Python-list mailing list