Escaping confusion with Python 3 + MySQL
steve+python at pearwood.info
Sun Mar 26 11:38:51 EDT 2017
On Mon, 27 Mar 2017 02:11 am, Νίκος Βέργος wrote:
> I just tried:
> domain = '.'.join( host.split('.')[-2:] )
> domain = '%' + domain + '%'
> cur.execute('''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) )
> and i received no error in the error_log but
> ProgrammingError(1064, "You have an error in your SQL syntax; check the
> manual that corresponds to your MariaDB server version for the right
> syntax to use near '(pagesID, host, ref, location, useros, browser,
> visits) VALUES (1, '%cyta.gr%', ' at line 1")
Start by following the instructions given:
check the manual that corresponds to your MariaDB server version
for the right syntax to use
just like the error message tells you to do.
Are you sure that the domain needs to have leading and trailing percentage
signs? "%cyta.gr%" instead of "cyta.gr"?
Are you sure that the LIKE clause needs double quotes?
Perhaps MariaDB requires single quotes:
or perhaps no quotes at all:
But I'm just guessing, because I haven't read the MariaDB manual. You should
> which you can see at http://superhost.gr
Ah, Nikos, its been a long time! I thought I recognised your style of
“Cheer up,” they said, “things could be worse.” So I cheered up, and sure
enough, things got worse.
More information about the Python-list