У меня есть простой python / flask api, который я не могу сопоставить ввод в api с mysql результатами выбора:
mycursor = mydb.cursor()
mycursor.execute('SELECT code FROM users')
codes = mycursor.fetchall()
коды печатаются так: '[(' 0000 ' ,), ('0001',), ('0003',)] '
Вот маршрут api и код поиска:
# API route for when a code is passed
@app.route('/api/v1/codes', methods=['GET'])
def checkcode():
# Check if a code was provided as part of the URL.
# If code is provided, assign it to a variable.
# If no code is provided, display an error in the browser.
if 'id' in request.args:
code = request.args['id']
print(id)
else:
return "Error: No id field provided. Please specify an id."
# Check if code matches
if code in codes:
#unlock(),
pushMessage("Message from PiAPI", "Building Door Unlocked.")
else:
wrong = 'Wrong Code was sent ' + (code)
pushMessage('Message from PiAPI', wrong)
Я пытался получить код совпадают всеми возможными способами, которые я могу себе представить:
code = "('" + request.args['id'] + "',)"
code = "'" + request.args['id'] + "',"
code = "'" + request.args['id'] + "'"
Пока ничего не совпало, даже если оно выглядит правильно и правильно отправляется в else: pushmessage. В api я ввожу 0000 (/ api / v1 / codes? Id = 0000)
Мне 42 года, и я новичок в кодировании, поэтому, пожалуйста, простите любую глупость. :)