#使用的是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') 这个语句?
Python空数组会不会占一个位?re是空数组?
看一下print(re)输出的是什么
迭代cursor的时候迭代的是查询结果集的每一行,你这个代码的意思是把查询结果的每一行进行bool比较。当查询结果为空的时候,for循环会执行0次,直接跳过循环,所以你什么也看不到。如果要判断查询结果是否为空,应判断dbcur.rowcount是否为0