首页 > 解决方案 > TypeError:无法解压用于人脸识别python的不可迭代的int对象

问题描述

我想用python做一个人脸识别考勤程序,程序会检测人脸,将用户的ID和姓名等信息保存到MySQL数据库的人表中,然后程序将识别人脸并插入信息之前保存的用户到另一个表,考勤表。但是,我在下面提供的编码中遇到了错误“TypeError: cannot unpack non-iterable int object”:

            db = database.open()
            cursor_person = db.cursor()
            cursor_att = db.cursor()
            cursor_person.execute("SELECT pID, name_reg FROM people")
            for row in cursor_person.fetchone():
                pID, name_reg = row
                
                cursor_att.execute("UPDATE attendance(ppID, name_att) SET ('{}', '{}') WHERE" .format (pID, name_reg))
            db.commit()

发生错误的部分如下图:

pID, name_reg = row <--- TypeError: cannot unpack non-iterable int object

有谁知道如何解决这个问题?我希望我提供的信息对您有所帮助。先感谢您。

标签: pythonpython-3.xopencvface-recognitionmysql-connector-python

解决方案


我相信你会想用fetchall
注意你的更新 sql 短语是坏的。

 for row in cursor_person.fetchall():
     cursor_att.execute("UPDATE attendance SET ('{}', '{}') WHERE" .format (row[0], row[1]))

推荐阅读