Задать вопрос
@101-s

Как сделать экранирование символов в Python для SQL запроса?

Вот такой метод пока успешно работает для одних данных, но я его не проверял масштабно.
def escape_data(st):
    """
    экранирование строки, тип str для подготовки к SQL
    :param st:
    :return:
    """
    x = {"'": "''", '"': '""', r'\\': r'\\\\', r';': r'\;', r'*': r'\*',
         '=': '\=', r'<': r'\<', r'>': r'\>'}
    for key in x.keys():
        st = st.replace(key, x[key])
    return st


Какие еще символы нужно экранировать? Есть ли различия между экранированием допустим SQL access и MYSQL?
Какими методами пользуетесь Вы?
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Не нужно ничего экранировать. Нужно использовать параметризованные запросы с плейсхолдерами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы