Flask mySQLDB 执行成功还是失败
Flask mySQLDB execute success or failure
我是 Python-Flask 的新手,正在尝试使用 MySQLDB 连接到数据库。但是,我无法确定如何检查游标执行的查询是成功还是失败。在下面的代码中,有人可以建议我如何处理 if 语句中的条件吗? c 是数据库的游标,它连接成功,所以我从下面的代码中排除了它。
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'
您已经有办法检测您发布的代码中的错误。如果查询出现问题,Python 将引发异常,您可以捕获该异常。尽管值得注意的是,您永远不应该捕捉到一个简单的异常,而且您当然也不应该隐藏那个异常是什么;捕获相关的 MySQLdb 异常,例如 MySQLdb.Error
.
c.execute(qry)
在你的情况下不会 return 任何东西。所以,你不能将它用于 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-Flask 的新手,正在尝试使用 MySQLDB 连接到数据库。但是,我无法确定如何检查游标执行的查询是成功还是失败。在下面的代码中,有人可以建议我如何处理 if 语句中的条件吗? c 是数据库的游标,它连接成功,所以我从下面的代码中排除了它。
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'
您已经有办法检测您发布的代码中的错误。如果查询出现问题,Python 将引发异常,您可以捕获该异常。尽管值得注意的是,您永远不应该捕捉到一个简单的异常,而且您当然也不应该隐藏那个异常是什么;捕获相关的 MySQLdb 异常,例如 MySQLdb.Error
.
c.execute(qry)
在你的情况下不会 return 任何东西。所以,你不能将它用于 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'