枫色故
2020-03-26 23:09
采纳率: 100%
浏览 549

python用fetchone()可以获取数据,用fetchall()却失败了?

python小白紧急求助!
用python获取MySQL的数据,但是奇怪的是用fetchone()成功了,但是fetchall()却失败了,有没有大佬可以解答一下...

//fetchone()

try:
    cursor.execute(sql)
    results = cursor.fetchall()
    for i in results:
        print (i+'\n')
except:
    print("Error: unable to fecth data")

结果:

图片说明

错误情况:

//fetchall()

try:
    cursor.execute(sql)
    results = cursor.fetchone()
    for i in results:
        print (i+'\n')
except:
    print("Error: unable to fecth data")

结果:

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 陈年椰子 2020-03-27 08:03
    已采纳

    你的代码, 是 fetchall() 成功 , fetchone() 失败 ? 说反了?

    抛出异常时,打印出错信息, 了解下为什么出错。这样有助于定位问题。

    
    try:
        cursor.execute(sql)
        results = cursor.fetchall()
        for r in results:
                print(r)
    
    except Exception as e:
        print("Error: unable to fecth all data")
        print(repr(e))
    
    
    
    try:
        cursor.execute(sql)
        results = cursor.fetchone()
        print(results)
    
    except Exception as e:
        print("Error: unable to fecth one data")
        print(repr(e))
    
    
    点赞 打赏 评论

相关推荐 更多相似问题