如何计算一个SQL行并使用FLASK将其存储在变量中,而不总是得到1作为答案?

2024-10-02 04:21:50 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有以下代码

from dbconnect import connection

def propertyCount():
    c, conn = connection()
    property_count = c.execute("SELECT COUNT(*) FROM properties")

return int(property_count)

在这段代码中,我使用python和Flask导入连接

然后我定义了一个新函数,该函数应执行以下操作:

连接到数据库并获取名为“properties”的特定表中的行数,然后将其存储在名为$property_count的变量中,并返回该变量的值,以便稍后在jinja中调用。在

当前的问题是,在web浏览器中测试时,它总是返回1作为值,但当我使用SQL代码(phpmyadmin)时,它返回的行数是正确的。在

感谢您的帮助;)


Tags: 函数代码fromimportexecutedefcountproperty
1条回答
网友
1楼 · 发布于 2024-10-02 04:21:50

execute()将输出受影响行数,而不是查询结果。要获得结果,请使用.fetchone()

from dbconnect import connection

def propertyCount():
    c, conn = connection()
    c.execute("SELECT COUNT(*) FROM properties")
    property_count = c.fetchone()[0]

    return property_count

还要注意return是如何缩进的(尽管我认为这只是一个问题贴错了)。在

相关问题 更多 >

    热门问题