瓶mySQLDB执行成功或失败

我是Python-Flask的新手,并试图使用MySQLDB来实现数据库。但是,我无法确定如何检查游标执行的查询是成功还是失败。在下面的代码中,有人能告诉我如何才能去if语句中的条件吗? c是一个游标到数据库,并且它连接成功,所以我将它从下面的代码中排除。瓶mySQLDB执行成功或失败

qry = "SELECT count(*) FROM users where username = (%s)" % (username) 

try:

x = c.execute(qry) #Is this correct? Doe execute command return a value?

if <<*Check if the query executed successfully*>>:

return 'Success'

else:

return 'Failure'

except Exception as e:

return 'Failure'

回答:

c.execute(qry)在你的情况下不会返回任何东西。所以,您不能将其用于if声明。

但是,您可以使用fetchall()fetchone()来检查查询是否有一些结果。它看起来像这样:

qry = "SELECT count(*) FROM users where username = (%s)" % (username) 

try:

c.execute(qry) #Is this correct? Doe execute command return a value?

user = c.fetchone()

if user:

return 'Success'

else:

return 'Failure'

except Exception as e:

return 'Failure'

回答:

您已经有检测您发布的代码中的失败的方法。如果查询出现问题,Python将引发异常,您可以捕获该异常。虽然值得注意的是,你永远不应该捕获一个光明的例外,你绝对不应该隐瞒那个例外;捕获相关的MySQLdb异常,例如MySQLdb.Error

以上是 瓶mySQLDB执行成功或失败 的全部内容, 来源链接: utcz.com/qa/263813.html

回到顶部