Как сохранить данные в моей базе данных из пользовательского ввода, используя MySQL в flask приложении. Я получаю ошибку - PullRequest
0 голосов
/ 04 августа 2020

Исходный код выглядит следующим образом:

from flask import Flask, render_template, request
from flask_mysqldb import MySQL
from MySQLdb import cursors

app = Flask(__name__)

app.config['MYSQL_HOST'] = 'localhost'
app.config['MYSQL_USER'] = 'root'
app.config['MYSQL_PASSWORD'] = Sorry, can't show it.
app.config['MYSQL_DB'] = Sorry, can't show it.

mysql = MySQL(app)

@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        userdetail = request.form
        username = userdetail['username']
        password = userdetail['user_password']
        cur = mysql.connection.cursor()
        cur.execute("INSERT INTO userinfo(username, user_password) VALUES(%s, %s),(username, user_password)")
        mysql.connection.commit()
        cur.close()
        return 'SUCCESS'
    return render_template('index.html')

if __name__ == "__main__":
    app.run(debug=True)

Это мой код, и я пытаюсь получить данные от пользователя и сохранить их в своей базе данных, но получаю ОШИБКУ:

MySQLdb._exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s, %s),(username, user_password)' at line 1")

На самом деле это показывает ошибку именно в этой строке:

cur.execute("INSERT INTO userinfo(username, user_password) VALUES(%s, %s),(username, user_password)")

1 Ответ

0 голосов
/ 04 августа 2020

попробуйте:

cur.execute("INSERT INTO userinfo(username, user_password) VALUES(%s, %s)",(username, user_password))

Подробнее см. здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...