2017-08-05 31 views
0

我試圖建立到SQL數據庫的連接沒有屬性的連接,但我最終瓶flaskext.mysql

AttributeError: 'MySQL' object has no attribute 'connection' 

我已經通過文件閱讀,它看起來像這樣的正確的方法來創建一個光標:

from flask import Flask 
from flaskext.mysql import MySQL 

app = Flask(__name__) 
app.config['MYSQL_HOST'] = 'sql3.freemysqlhosting.net' 
app.config['MYSQL_USER'] = 'sql1234567' 
app.config['MYSQL_PASSWORD'] = 'abcdefg' 
app.config['MYSQL_DB'] = 'sql1234567' 
app.config['MYSQL_PORT'] = '3306' 
mysql = MySQL(app) 

@app.route('/') 
def index(): 
    cur = mysql.connection.cursor() 
    cur.execute('''SELECT * FROM users''') 
    rv = cur.fetchall() 
    return str(rv) 

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

編輯:使用https://www.youtube.com/watch?v=nWO_VpI5wn8作爲教程和文檔是http://flask-mysqldb.readthedocs.io/en/latest/

回答

1

您在這裏輸入不正確的模塊。

解決方案是

代替進口

from flaskext.mysql import MySQL 

進口這是不同的模塊(按照this

from flask_mysqldb import MySQL 

這看起來像一些IDE自動進口問題。由於這兩個模塊是不同的,你可以安裝這兩個包如下:

pip install flask-mysqldbpip install flask-mysql

編輯

如果你想使用以前的模塊,你必須遵循this並且光標可以如下使用:

from flaskext.mysql import MySQL 
mysql = MySQL() 
mysql.init_app(app) 
cursor = mysql.get_db().cursor()