@CeBePHblY

Python 3.4 и MySQL. Почему запрос выполняется с ошибкой?

через MySQL коннектор пытаюсь сделать запрос к бд
query = ("SELECT * FROM taxe_client WHERE client_token = %s")
                        print (clientToken)
                        cursor.execute(query, (clientToken))
                        #смотрим количество возвращенных строк, если больше 0, то значит токен клиента в бд присутствует
                        result = cursor.fetchall()
                        colRows = len(result)
                        if colRows > 0:
                            #клиент в базе есть, берем данные
                            for row in result:
                                idClient = row[0]
                            print(idClient)

выдает такую ошибку
mysql.connector.errors.ProgrammingError: 1064 (42000): 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 '%s' at line 1

а если прописать запрос так
query = ("SELECT * FROM taxe_client WHERE client_token = '%s'")

то ошибка исчезает, хотя такой токен в базе есть
а если сделать такой запрос
query = ("SELECT * FROM taxe_client WHERE client_token = '894d723f2daf0fb0fa99881152663691'")

то idClient отображается. ЧЯДНТ?
  • Вопрос задан
  • 1280 просмотров
Решения вопроса 1
mukizu
@mukizu
cursor.execute(query, (clientToken,))

В смысле - запятая нужна, после токена
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы