raise err.ProgrammingError(“ execute()first”)pymysql.err.ProgrammingError:首先执行execute()

问题描述 投票:0回答:1

我有一个返回游标的连接函数,正在使用pymysql与我的数据库进行连接,并且我还有另一个文件,该文件使用该连接函数来执行sql语句,但是当我获取该行时,它返回一个错误,即“ raise err.ProgrammingError("execute() first")

这是从我的数据库配置文件扩展的连接功能

    def kasaa():
        try:
            conn = mysql.connect()
            cursor = conn.cursor(pymysql.cursors.DictCursor)
            return cursor
       except Exception as e:
          print(e)

但是当我在雇员类中调用kasaa()时,它首先引发了execute()错误

    def get_multiple_info(self,employees_ids):
    """Get info of multiple Employees in database"""
    try:
        for employee_id in employees_ids:
            kasaa().execute(
                 "SELECT * FROM ospos_employees WHERE ospos_employees.deleted = 0 AND ospos_employees.person_id = %s ",
                 employee_id
             )
            row = kasaa().fetchone()
            return row()
    except Exception as e:
        print(e)
    finally:
        kasaa().close()

我希望输出是字典列表,但是我会提出err.ProgrammingError(“ execute()first”)我缺少什么。任何您在我的学习旅程中负担得起的患者,我将不胜感激]

我有一个返回游标的连接函数,正在使用pymysql与我的数据库进行连接,我还有另一个文件,该文件使用该连接函数来执行sql语句,但是当我获取该行时...

python python-3.x flask
1个回答
0
投票

kasaa()中的代码执行了两次,因此实际上在没有fetchone()的情况下调用了execute()。获取cursor并使用它来调用其他功能

© www.soinside.com 2019 - 2024. All rights reserved.