我正在尝试将捕获的网络摄像头图像存储到 mysql 数据库中。 我已经尝试捕获图像并且它正在工作,图像保存在我的本地文件夹中。 但是当我试图连接到我的数据库并将图像存储到 mysql 时,它给出了一个错误。 我希望将图像保存为 LONGBLOB(我已经做过研究,我认为这是我进一步工作的最佳选择) 很抱歉,我不能显示完整的代码,因为它很长,但这是必要的部分:
import mysql.connector
MyDB = mysql.connector.connect(
host = "localhost",
user = "root",
password = "0000",
database = "construction2022db"
)
MyCursor = MyDB.cursor()
if cv2.waitKey(1)%256 == 32:
img_name = "hardhatviolation_{}.png".format(img_counter)
cv2.imwrite(img_name,pred)
print("!!!!!!!!!!!!!!!!!!!ss taken!!!!!!!!!!!!!!!!!!!!!!!!")
img_counter+=1
sqlstatement = "INSERT INTO coba (id, time, rule, branch, picture) VALUES (NULL, '2022-09-26 00:00:00', 'not wear hat', 'ZT', %s)"
MyCursor.execute(sqlstatement, pred)
MyDB.commit()
错误是:
Traceback (most recent call last):
File "C:\darknet-master\usbcam_rule.py", line 547, in <module>
check_rules.check_allrules_rtsp()
File "C:\darknet-master\usbcam_rule.py", line 474, in check_allrules_rtsp
MyCursor.execute(sqlstatement, pred)
File "C:\Users\jesphine\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\mysql\connector\cursor.py", line 595, in execute
if params:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
感谢任何帮助!
我试着看了一些文档,我希望我捕获的网络摄像头图像可以存储到mysql中,结果是我只能将捕获的图像保存到本地文件夹中。