Как форматировать для Python:Как форматировать строку запроса
query = """SELECT u.id, u.username, a.id as author_id,
a.user_id, a.first_name, a.last_name FROM users u\n
LEFT JOIN authors a on u.id = a.user_id\n
WHERE u.username='{0}'\n""".format(username)
Когда я бегу db.execute (запросов), я, кажется, не получают никаких результатов назад, несмотря на меня выполнение этого запроса через HeidiSQL.
В Python я получаю 1054 (42S22): Неизвестный столбец « '' в 'где предложение'
Я использую mysql.connector, MySQL 5,6 установлен
.I GET имя пользователя от username = request.POST.get('username')
Передаю это значение этому формату (имя пользователя).
Кажется, я получаю:
print(str(user['password']))
TypeError: 'NoneType' object is not subscriptable
Print:
SELECT u.id, u.username, a.id as author_id, a.user_id, a.first_name, a.last_name FROM users u
LEFT JOIN authors a on u.id = a.user_id
WHERE u.username="erik"
Совет по безопасности: не отформатируйте свои запросы самостоятельно! Используйте форматирование, предлагаемое API, или инструмент, такой как * SQLAlchemy *, который защищает вас от * SQL-инъекции *. –
Я запускаю это на localhost. Python. – haxxir411
Можете ли вы дать нам значение для 'username'? Кроме того, обратите внимание, что речь идет не только о безопасности в конце концов. Если 'username'' '' '' '' ', MySQL будет запутан и т. Д. –