使用mysql在python中插入图像

使用mysql在python中插入图像,python,mysql,python-2.7,Python,Mysql,Python 2.7,我只是尝试使用mysql在python中插入一个图像,这是我的代码 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/java

我只是尝试使用mysql在python中插入一个图像,这是我的代码

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'
error/usr/bin/python2.7/home/solomon/PycharmProjects/untitled/Helloworrld.py
回溯(最近一次呼叫最后一次):
文件“/home/solomon/PycharmProjects/untitled/Helloworrld.py”,第10行,在
execute(“插入图像(id、大小、图像)值('PYTHON',245,imager)”)
文件“/usr/local/lib/python2.7/dist packages/mysql/connector/cursor.py”,第507行,在execute中
self.\u handle\u result(self.\u connection.cmd\u query(stmt))
cmd_查询中的文件“/usr/local/lib/python2.7/dist packages/mysql/connector/connection.py”,第722行
result=self.\u handle\u result(self.\u send\u cmd(ServerCmd.QUERY,QUERY))
文件“/usr/local/lib/python2.7/dist packages/mysql/connector/connection.py”,第640行,在_handle_result中
引发错误。获取异常(数据包)
mysql.connector.errors.ProgrammingError:1054(42S22):“字段列表”中的未知列“imager”
因为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()
因为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()

似乎“imager”不存在,发布您的show tables信息可能会有所帮助。似乎“imager”不存在,发布您的show tables信息可能会有所帮助。您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“??”附近使用的正确语法您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“??”附近使用的正确语法