2015-09-25 2 views
0

Я просто пытаюсь вставить изображение в Python с использованием MySQL и это мой кодвставка изображений в Python с использованием в MySQL

import mysql.connector 
import base64 

conn = mysql.connector.Connect(user="root",passwd="solomon",host="localhost",db="binarymanipulation",port="3306") 

cursor = conn.cursor(); 
with open('/home/solomon/Downloads/javapic.jpeg', 'rb') as image: 
    imager = image.read() 

cursor.execute("INSERT INTO images(id,size,image) VALUES('PYTHON',245,imager)") 
conn.commit(); 
conn.close() 

Во время работы этого кода я получаю следующее сообщение об ошибке:

error/usr/bin/python2.7 /home/solomon/PycharmProjects/untitled/Helloworrld.py 
Traceback (most recent call last): 
    File "/home/solomon/PycharmProjects/untitled/Helloworrld.py", line 10, in <module> 
    cursor.execute("INSERT INTO images(id,size,image) VALUES('PYTHON',245,imager)") 
    File "/usr/local/lib/python2.7/dist-packages/mysql/connector/cursor.py", line 507, in execute 
    self._handle_result(self._connection.cmd_query(stmt)) 
    File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 722, in cmd_query 
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) 
    File "/usr/local/lib/python2.7/dist-packages/mysql/connector/connection.py", line 640, in _handle_result 
    raise errors.get_exception(packet) 
mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'imager' in 'field list' 
+0

Это кажется «тепловизор» не существует, опубликовать данные показывают таблицы может помогает. –

ответ

0
import mysql.connector 
import base64 

conn = mysql.connector.Connect(user="root",passwd="solomon",host="localhost",db="binarymanipulation",port="3306") 

cursor = conn.cursor(); 
with open('/home/solomon/Downloads/javapic.jpeg', 'rb') as image: 
    imager = image.read() 

cursor.execute("INSERT INTO images(id,size,image) VALUES('PYTHON',245,imager)") 
conn.commit(); 
conn.close() 

Поскольку SQL не формат, это переменная в Python, попытайтесь выполнить в SQL:

INSERT INTO images(id,size,image) VALUES('PYTHON',245,imager) 

получит ту же ошибку, вы можете отформатировать его первым может, помогает:

import mysql.connector 
import base64 

conn = mysql.connector.Connect(user="root",passwd="solomon",host="localhost",db="binarymanipulation",port="3306") 

cursor = conn.cursor(); 
with open('/home/solomon/Downloads/javapic.jpeg', 'rb') as image: 
    imager = image.read() 

sql = "INSERT INTO images(id,size,image) VALUES('PYTHON',245,%s)" % imager 
cursor.execute(sql) 
conn.commit() 
conn.close() 
+0

после смены кода –

+0

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '???' в строке 1 –

Смежные вопросы