如何检查游标中的空结果? (烧瓶+ pymysql)
Posted
技术标签:
【中文标题】如何检查游标中的空结果? (烧瓶+ pymysql)【英文标题】:How to check for empty results in a cursor? (flask + pymysql) 【发布时间】:2020-07-21 13:44:41 【问题描述】:我不知道如何检查 cursor.execute 中的空结果。 假设我有一个空表品牌。我愿意:
cursor.execute("SELECT * FROM Brand")
db.commit()
results = cursor.fetchall()
return render_template("index.html", results = results)
这会在网站上弹出:
TypeError: The view function did not return a valid response. The function either returned None or ended without a return statement.
想要一个修复,也许是一个 if 语句来检查结果是否为空..
【问题讨论】:
如果您只是想通过查询从数据库中获取数据,则不应使用commit
调用;这仅适用于您添加数据时。你读过documentation吗?此外,如果不对其进行序列化,您将无法直接返回数据库查询。
我刚刚发现它甚至不是数据库问题,我修复了它。基本上我在 jinja 函数中有一些逻辑错误
【参考方案1】:
你可以使用
if cursor.rowcount == 0 # empty results
而且您不需要 cmets 中提到的 db.commit()
。
【讨论】:
以上是关于如何检查游标中的空结果? (烧瓶+ pymysql)的主要内容,如果未能解决你的问题,请参考以下文章