Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python、flask和mysql_Python_Mysql_Flask - Fatal编程技术网

python、flask和mysql

python、flask和mysql,python,mysql,flask,Python,Mysql,Flask,我只想在一件事上得到帮助 @app.route('/getdata', methods =['GET', 'POST']) #@requires_auth def get_data(): config = { 'user': 'user', 'password': 'password.', 'host': '127.0.0.1', 'database': 'database', 'raise_on_warn

我只想在一件事上得到帮助

@app.route('/getdata', methods =['GET', 'POST'])
#@requires_auth
def get_data():

    config = {
        'user': 'user',
        'password': 'password.',
        'host': '127.0.0.1',
        'database': 'database',
        'raise_on_warnings': True,
        'use_pure': False,
    }

    cnx = mysql.connector.connect(**config)

    cur = cnx.cursor()

    cur.execute("SELECT hash FROM hash_files")


     rows = cur.fetchall()
     response = [row[0] for row in rows]

    return jsonify(response)


    cnx.close()
我得到这个错误元组索引必须是整数,而不是str有人能帮我吗

我以前犯过这个错误,但现在我犯了这个错误

      Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\flask\app.py", line 1997, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Python27\lib\site-packages\flask\app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "C:\Python27\lib\site-packages\flask\app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Python27\lib\site-packages\flask\app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Python27\lib\site-packages\flask\app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Python27\lib\site-packages\flask\app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Python27\lib\site-packages\flask\app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Python27\lib\site-packages\flask\app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:\Python27\webapi\venv\webapi.py", line 59, in get_data
    cnx = mysql.connector.connect(**config)
  File "C:\Python27\lib\site-packages\mysql\connector\__init__.py", line 179, in connect
    return MySQLConnection(*args, **kwargs)
  File "C:\Python27\lib\site-packages\mysql\connector\connection.py", line 98, in __init__
    self.close()
  File "C:\Python27\lib\site-packages\mysql\connector\connection.py", line 252, in close
    self.cmd_quit()
  File "C:\Python27\lib\site-packages\mysql\connector\connection.py", line 581, in cmd_quit
    self._socket.send(packet, 0, 0)
  File "C:\Python27\lib\site-packages\mysql\connector\network.py", line 143, in send_plain
    errno=2055, values=(self.get_address(), _strioerror(err)))
  File "C:\Python27\lib\site-packages\mysql\connector\errors.py", line 185, in __init__
    self.msg = self.msg % values
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe3 in position 46: ordinal not in range(128)
很抱歉长期的错误,我不知道你是否需要它,所以我发送这样的

我用sqlite3编写了de程序,但我需要使用mysql来获取web api上的所有数据,而另一个程序将数据获取到一个数组,但它现在不起作用。所以row是一个元组,不能执行row['hash']。这就是为什么错误元组索引必须是整数,而不是str

要访问元组中的值,需要使用index:row[0]

编辑:


要修复解码错误,您需要。因为这是一个很长的回答,其他人回答得很好,所以我不会在这里全部输入。

请编辑您的帖子,将错误包括在内printout@0TTT0我现在加上,,thanks@ShwSvn您试图使用不同的脚本调用api,并且正在发布该脚本的跟踪。请发布原始程序的跟踪。您发布的跟踪表明,您正在尝试对从API获得的响应进行json解码。当API根本没有返回json对象时。错误似乎发生在mysql.connector.connect调用期间。主机名中是否有unicode字符?这似乎是在处理失败的连接尝试时发生的编码错误。像这样吗?我更改了帖子,但知道我遇到了另一个错误,我发布了UnicodeDecodeError UnicodeDecodeError:“ascii”编解码器无法解码第46位的字节0xe3:序号不在range128@ShwSvn请阅读此文以更好地了解您当前的问题。不,堆栈跟踪显示,在获取结果时不会发生错误,但在连接期间,我不知道,我重新启动了pycharm,并通过更改行[0]将其修复,非常感谢大家