执行查询,然后在pymysql python中获取结果

如果我写


cursor=db.cursor(pymysql.cursors.DictCursor)

cursor.execute(query)

result=cursor.fetchall()

print(result)

这可以工作并将结果打印为字典。


但是如果我这样写


cursor=db.cursor(pymysql.cursors.DictCursor)

result=cursor.execute(query).fetchall()

print(result)

它给我错误:


Traceback (most recent call last):

  File "senti4SDanalyze.py", line 22, in <module>

    constructMaleResults()

  File "senti4SDanalyze.py", line 12, in constructMaleResults

    result=cursor.execute(query).fetchall()

AttributeError: 'int' object has no attribute 'fetchall'

这是为什么?


蓝山帝景
浏览 544回答 1
1回答

噜噜哒

在对象上被调用result=cursor.fetchall()的方法。fetchallcursor在result=cursor.execute(query).fetchall()方法fetchall中被方法返回的对象(或本机类型)上被调用execute。为了更好地理解这一点,请探索内置的type和dir:type(cursor)dir(cursor)type(cursor.execute(query))dir(cursor.execute(query))
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python