Python: ValueError: символ неподдерживаемого формата '' '(0x27) в индексе 1

Я пытаюсь выполнить запрос для поиска 3 таблиц в базе данных с помощью MySQL через Python. Каждый раз, когда я пытаюсь выполнить следующую строку в качестве запроса, она дает мне ошибку о конкатенации в строке.

"SELECT fileid FROM files WHERE description LIKE '%" + search + "%' OR filename LIKE '%" + search + "%' OR uploader LIKE '%" + search + "%' ORDER BY fileid DESC" 

Это моя ошибка:

  • pip install MySQL-python не работает на ubuntu 14.04, ошибка: команда «x86_64-linux-gnu-gcc» не удалась с статусом выхода 1
  • Установка определенных версий пакета с помощью pip
  • Python + MySQLdb странная проблема
  • Почему easy_install не может найти MySQLdb?
  • Обновление с Django 1.6 (с юга) до 1.8 не изменяет «last_login» в пользовательской таблице
  • Pandon Pandas - использование to_sql для записи больших кадров данных в кусках
  •  ValueError: unsupported format character ''' (0x27) at index 1 

    Если я удалю символ, который он запрашивает, я также должен удалить%, что фактически прекратит выполнение запроса. Что я могу сделать, чтобы исправить это, так как я довольно новичок в Python.

    Спасибо, Крис

  • Массовое обновление Sqlalchemy в MySQL работает очень медленно
  • MySQL: получить имя столбца или псевдоним из запроса
  • Как настроить Django с помощью pymysql в качестве драйвера?
  • Миграции Django - можно ли использовать Юг в середине проекта?
  • python - Проблема сохранения символа Unicode для MySQL с Django
  • Python: Как установить mysqldb на windows 7 x64?
  • 3 Solutions collect form web for “Python: ValueError: символ неподдерживаемого формата '' '(0x27) в индексе 1”

    Похоже, что python интерпретирует символ% как символ формата, подобный printf. Попробуйте использовать %%?

     "SELECT fileid FROM files WHERE description LIKE '%%%s%%' OR filename LIKE '%%%s%%' OR uploader LIKE '%%%s%%' ORDER BY fileid DESC" % (search, search, search) 

    вы можете попробовать следующее:

     SELECT fileid FROM files WHERE description LIKE '%%%%%s%%%%' OR filename LIKE '%%%%%s%%%%' OR uploader LIKE '%%%%%s%%%%' ORDER BY fileid DESC" % (search, search, search) 

    Мое решение:

     query = """SELECT id, name FROM provice WHERE name LIKE %s""" cursor.execute(query, '%%%s%%' % name) 

    Я думаю, что это простой способ решить эту проблему!

    Python - лучший язык программирования в мире.