Код: Выделить всё
image = open(fileName, 'rb').read() # open binary file in read mode
#image = base64.b64encode(image)
#image_read = image.read()
conn, cursor = Functions.openDB(self, dbname='books')
mime = 'image/jpeg'
query = "UPDATE `cover` SET `datafile` = %s, WHERE idx = %s " % (image, idx )
try:
cursor.execute(query)
conn.commit()
except Error as e:
Functions.handle_error(self, message=e)
self.container.close()
Синтаксическая ошибка: рядом с 'xffxd8xffxe0x00x10JFIFx00x01x01x01x00'x00'x00x00xffxdbx00Cx00' в строке 1
Используете ли вы двоичный файл только для чтения или кодируете его в base64 после чтения. Очевидно, что в этом случае изменяется строка, сообщаемая ошибкой.
Я искал в сети и нашел практически только приведенный выше код.
Некоторые предложения неприменимы, поскольку:
[*]Я получаю синтаксическую ошибку из-за, я полагаю, неправильного кодирования в чем-то понятном из MySQL.
[*]Они имеют дело со строками и/или целые числа, тогда как мой вопрос относится к вставке изображения в большой двоичный объект.
[*]Во всех сценариях, в которых я обращаюсь к базе данных, синтаксическая конструкция правильна.
Подробнее здесь: https://stackoverflow.com/questions/791 ... nto-a-blob