瓶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