2016-07-26 140 views
2

所以,我使用pymysql来将mysql连接到烧瓶。当我开发我的本地计算机上所有网站被罚款,后来当我上传我的网站数字海洋尝试连接给我一个错误:使用pymysql连接到mysql时出现烧瓶错误

'NoneType' object is not iterable

我得到的错误的观点:

@app.route('/test/') 
def test_page(): 
    try: 
     c, conn = connection() 
     return("okay") 
    except Exception as e: 
     return(str(e)) 

连接文件看起来是这样的:

import pymysql 

def connection(): 
    try: 
     conn = pymysql.connect(host="localhost", port=3306, user="root", passwd="my_password",db="db_name",charset='utf8') 
     c = conn.cursor() 
     return conn, c 
    except Exception as e: 
     print (str(e)) 

我坚持这个问题就像几个小时,不能找到一个解决方案。先谢谢你。

+0

你有整个堆栈跟踪? –

+0

我对整个瓶子开发事情很陌生,所以调试不是我最强大的部分,我找不到整个堆栈跟踪。 –

+0

做了几个测试,发现:pymysql.err.InternalError:(1698,u“拒绝访问用户'root'@'localhost'”) –

回答

0

您的pymysql.connection尝试连接到本地计算机上运行的数据库。

很明显,您的数字海洋服务器上没有数据库,或者使用提供的凭据在端口3306上无法访问数据库。

+0

所有关于设置flask + mysql的教程都将host设置为localhost,然后输入凭证并输入数据库名称。我已经移除了端口,但仍然没有区别。 –

0

发现了一个错误。我只需要一个新的重新安装mysql :)