首页 > 解决方案 > sqlalchemy.exc.DataError:(psycopg2.errors.InvalidTextRepresentation)布尔类型的无效输入语法:“sdzf”

问题描述

我正在我的电子商务网站中创建一个更新用户凭据的功能。每当我的表单触发此功能时,我都会收到错误-> sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) 布尔类型的无效输入语法:“sdzf”

我无法找出问题所在。请帮我找出问题。提前致谢。

蟒蛇代码:

@app.route("/admin_cred_update", methods=["POST","GET"])
def admin_cred_update():
    email=str(request.form.get("email"))
    password=str(request.form.get("password"))
    if re.search("[.,*/%$#:|\[\]\(\)]",email) and re.search("[.,*/%$#:|\[\]\(\)]",password):
        message="there are some invalid characters in above fields"
        return render_template("admin_profile.html", updatemes=message)
    else:
        db.execute("update admin_master_tbl SET email=:email and password=:password where email=:smail and password=:spassword",{"email":email,"password":password,"smail":session["adminname"],"spassword":session["adminpassword"]})
        session["adminname"]=email
        session["adminpassword"]=password
        message1="credentials updated succesfully"
        return render_template("admin_profile.html", updatemes=message1)

错误日志:

sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid   input syntax for type boolean: "sdzf"
LINE 1: update admin_master_tbl SET email='sdzf' and password='csadf...
                                          ^

[SQL: update admin_master_tbl SET email=%(email)s and password=%(password)s  where email=%(smail)s and password=%(spassword)s]
[parameters: {'email': 'sdzf', 'password': 'csadfc', 'smail': 'lightningdrago72@gmail.com', 'spassword': 'asdf'}]

标签: python-3.xpostgresqlflaskflask-sqlalchemy

解决方案


哦,我发现了问题!我犯了一个错误,把and而不是,放在SET我的查询部分。现在问题解决了!!


推荐阅读