Mysql
 sql >> база данни >  >> RDS >> Mysql

TypeError:cursor() получи неочакван аргумент за ключова дума „речник“, използвайки flaskext.mysql

Можете да следвате този отговор:https://stackoverflow.com/a/41388992/3129414

Съществуваща модификация на кода:

  • използвайте DictCursor в MySQL инициализация
  • премахнете dictionary=True от курсора
  • използвайте json пакет за конвертиране на елементи от речника във формат json

app.py :

import json
from flask import Flask
from flaskext.mysql import MySQL
from pymysql.cursors import DictCursor

app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = '123'
app.config['MYSQL_DATABASE_DB'] = 'practice_db'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql = MySQL(cursorclass=DictCursor)
mysql.init_app(app)
conn = mysql.connect()

@app.route("/", methods=['GET'])
def home():
    email_address = '[email protected]'
    cursor = conn.cursor();
    cursor.execute(
            'SELECT * FROM user_table WHERE email = (%s)', (email_address,)
        )
    users = cursor.fetchall()
    return json.dumps(users)

app.run(debug=True)

Екранна снимка:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Повтарящо се ниво на изолация на четене SELECT срещу UPDATE...WHERE

  2. PHP + MySql + Съхранени процедури, как да получа достъп до изходяща стойност?

  3. mysql varbinary срещу varchar

  4. Как да показвам само 5 записа на страница от моята таблица на база данни на mysql чрез пагинация?

  5. Запазена дума в името на колоната - вмъкнете в MySQL