首页 > 解决方案 > MySQL python连接器:“在字节格式化期间并非所有参数都转换”

问题描述

我有一个 mysql 数据库,其中“用户”表具有 f_name、l_name、密码电子邮件(pk),会话由该表创建,表“朋友组”具有 fg_name(pk)、电子邮件((pk)、users.email(FK))并且表“成员”具有电子邮件(pk,user.email(fk)),owner_email(pk,friendgroup.email(fk)),fg_name(pk,friendgroup.fg_name(fk))和下面的python烧瓶文件。登录帐号后,我想在聊天中添加一个朋友。我试图从 session['email'] 修复它

def add_friend():
    user = session['email']
    friendgroups = _get_own_friendgroups(user) return 
    render_template('addFriend.html', friendgroups=friendgroups)
def _get_own_friendgroups(user):
    cursor = mysql.connection.cursor()
    #find all friendgroups that the user owns
    find_owned_friendgroups = 'SELECT fg_name, description FROM friendgroup WHERE owner_email = %s  ORDER BY fg_name ASC'
    cursor.execute(find_owned_friendgroups, (user))
    owned_friendgroups = cursor.fetchall()
    cursor.close()
    return owned_friendgroups

我希望输出将是一个打开的窗口,并在需要时主动使用添加朋友但显示错误:

MySQLdb._exceptions.ProgrammingError:并非所有参数都在字节格式化期间转换

标签: pythonmysqlflask

解决方案


python 中的一个常见错误是使用(bar)而不是(bar,)前者不是元组

尝试:

cursor.execute(find_owned_friendgroups, (user,))

推荐阅读