Форум сайта python.su
0
Всем привет!
ОС: Убунта
Питон версии 2.7.6
Для доступа к MySQL использую MySQLdb
Собственно проблема:
При попытке выполнить операцию
cursor.execute('select count(*) from users WHERE login='jack';')
Выдает ошибку:
File “<stdin>”, line 1
cursor.execute('select count(*) from users where login='jack';')
^
SyntaxError: invalid syntax
Этот же запрос, выполненный в самом MySQL возвращает нормальный результат
PS: все остальные запрос питон вопринимает нормально
Офлайн
26
cursor.execute("select count(*) from users WHERE login='jack'")
Офлайн
0
Опана, сработало!
Огромное спасибо за помощь.
Но объясните пожалуйста, почему так?
Ведь в питоне одинарные и двойные кавычки равнозначны
Офлайн
26
В строке внутри двойных надо использовать одинарные (или обратно), либо конкатенацию строк
В cursor.execute должна передоваться строка
>>> "select count(*) from users WHERE login='jack'" "select count(*) from users WHERE login='jack'" >>> 'select count(*) from users WHERE login='+'jack' 'select count(*) from users WHERE login=jack' >>> 'select count(*) from users WHERE login='jack';' File "<stdin>", line 1 'select count(*) from users WHERE login='jack';' ^ SyntaxError: invalid syntax
Офлайн
-1
Можно ещё экранировать:
cursor.execute("select count(*) from users WHERE login=\"jack\"")
Отредактировано MiK (Фев. 18, 2015 11:37:44)
Офлайн
0
Все понятно.
Еще раз большое спасибо.
Проблема решена, тема закрыта.
Офлайн