使用mysql在python中插入图像
我只是尝试使用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
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行“??”附近使用的正确语法