为什么在这个Python/MySQL搜索中返回的值为none
Why is the returned value is none in this Python/MySQL search
我有这个小代码
cquery = "SELECT * FROM `workers` WHERE `Username` = (%s)"
cvalue = (usernameR,)
flash(cquery)
flash(cvalue)
x = c1.execute(cquery, cvalue)
flash(x)
usernameR 是一个字符串变量我从表单中得到它的值
x 应该是行数或某个值,但它 returns none 我需要它的价值 if.
我用一行中 table 中的值对其进行了测试,所以情况并非如此,即值不存在或其他情况。但如果在那种情况下它不存在,x 应该 return 0 或其他东西。
几个小时后我无法解决问题。
cvalue 的值:
('Csabatron99',)
编辑解决方案:
我需要将 rowcount 和 fetchall 添加到代码中,如下所示:
cquery = "SELECT * FROM `workers` WHERE `Username` = (%s)"
cvalue = (usernameR,)
flash(cquery)
flash(cvalue)
c1.execute(cquery, cvalue)
c1.fetchall()
a = c1.rowcount
cursor.execute()
在正常情况下不会 return 任何东西。如果您使用 multi=True
参数,它 return 是一个迭代器,用于从多个查询中的每一个查询中获取结果。
要获取查询 return 的行数,请使用 rowcount
属性。
c1.execute(cquery, cvalue)
flash(c1.rowcount)
我有这个小代码
cquery = "SELECT * FROM `workers` WHERE `Username` = (%s)"
cvalue = (usernameR,)
flash(cquery)
flash(cvalue)
x = c1.execute(cquery, cvalue)
flash(x)
usernameR 是一个字符串变量我从表单中得到它的值
x 应该是行数或某个值,但它 returns none 我需要它的价值 if.
我用一行中 table 中的值对其进行了测试,所以情况并非如此,即值不存在或其他情况。但如果在那种情况下它不存在,x 应该 return 0 或其他东西。
几个小时后我无法解决问题。
cvalue 的值:
('Csabatron99',)
编辑解决方案:
我需要将 rowcount 和 fetchall 添加到代码中,如下所示:
cquery = "SELECT * FROM `workers` WHERE `Username` = (%s)"
cvalue = (usernameR,)
flash(cquery)
flash(cvalue)
c1.execute(cquery, cvalue)
c1.fetchall()
a = c1.rowcount
cursor.execute()
在正常情况下不会 return 任何东西。如果您使用 multi=True
参数,它 return 是一个迭代器,用于从多个查询中的每一个查询中获取结果。
要获取查询 return 的行数,请使用 rowcount
属性。
c1.execute(cquery, cvalue)
flash(c1.rowcount)