python–AttributeError:’long’对象没有属性’fetchall’

python–AttributeError:’long’对象没有属性’fetchall’,第1张

概述我正在尝试使用mysql-flask python扩展来执行一些sql.由于某种原因,下面的代码总是返回long.stringify = lambda x : ''' + x + ''' if request.method == 'POST': sql = 'select * from users where username = ' + s

我正在尝试使用mysql-flask python扩展来执行一些sql.由于某种原因,下面的代码总是返回long.

stringify = lambda x : '"' + x + '"'if request.method == 'POST':        sql = "select * from users where username = " + stringify(request.form['username'])        user = g.db.cursor().execute(sql).fetchall()

错误:

 user = g.db.cursor().execute(sql).fetchall()AttributeError: 'long' object has no attribute 'fetchall'

为什么不返回结果集?

另外,我可以很好地执行insert语句.

修复(答案):

def get_data(g,sql):    cursor = g.db.cursor()    cursor.execute(sql)    data = [dict((cursor.description[IDx][0],value) for IDx,value in enumerate(row)) for row in cursor.fetchall()]    return data
最佳答案你试图在Cursor.execute的结果上调用一个方法,DB-API specification所说的是未定义的(你正在使用的实现似乎返回一个整数).相反,您希望在游标对象上调用fetchall.就像是:

cursor = g.db.cursor()cursor.execute(sql)user = cursor.fetchall()
总结

以上是内存溢出为你收集整理的python – AttributeError:’long’对象没有属性’fetchall’全部内容,希望文章能够帮你解决python – AttributeError:’long’对象没有属性’fetchall’所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1167793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存