Найти - Пользователи
Полная версия: помогите разобраться с MySQLdb
Начало » Python для новичков » помогите разобраться с MySQLdb
1
sam
Всем привет!
ОС: Убунта
Питон версии 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: все остальные запрос питон вопринимает нормально
ajib6ept
cursor.execute("select count(*) from users WHERE login='jack'")

А если использовать двойные ковычки?
sam
Опана, сработало!
Огромное спасибо за помощь.

Но объясните пожалуйста, почему так?
Ведь в питоне одинарные и двойные кавычки равнозначны
ajib6ept
В строке внутри двойных надо использовать одинарные (или обратно), либо конкатенацию строк
В 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
MiK
Можно ещё экранировать:
cursor.execute("select count(*) from users WHERE login=\"jack\"")
sam
Все понятно.
Еще раз большое спасибо.
Проблема решена, тема закрыта.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB