如何检查游标中的空结果? (烧瓶+ 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)的主要内容,如果未能解决你的问题,请参考以下文章

Python pymysql模块

pymysql 基操全套

pymysql

pymysql

Mysql在python中的使用:pymysql

pymysql操作数据库入门