beishanfengyun
beishanfengyun
采纳率42.9%
2017-11-11 02:44

关于PYTHON3 连接mysql 执行查询结果的判断 问题

#使用的是mysql 官网的 connector
#运行查询的代码
sql='select user,host from user where user='fas'
dbcur=dbcon.cursor()
dbcur.execute(sql)
#打印查询结果
for re in ducur:
if re:
print(re)
else:
print('Empty')

问题:代码是能够正常运行的,在数据里面如果有相应的查询结果的时候,能打印出查询结果,但如果里面查询结果为空,为什么不执行print('Empty') 这个语句?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

3条回答

  • ranyixu11 doggy_coder 4年前

    迭代cursor的时候迭代的是查询结果集的每一行,你这个代码的意思是把查询结果的每一行进行bool比较。当查询结果为空的时候,for循环会执行0次,直接跳过循环,所以你什么也看不到。如果要判断查询结果是否为空,应判断dbcur.rowcount是否为0

    点赞 1 评论 复制链接分享
  • gavin_gwt gavin_gwt 4年前

    看一下print(re)输出的是什么

    点赞 评论 复制链接分享
  • qq_37524684 子幽 4年前

    Python空数组会不会占一个位?re是空数组?

    点赞 评论 复制链接分享

为你推荐