Задать вопрос
@phpkoder
Web-програмист

Как в python3 (модуль sqlite3) экранировать строку для записи в базу?

Пишу скрипт, который периодически записывает разные строки в бд (sqlite) в которых может встретится любой символ ("2%\\ и т.д.) как их можно экранировать что-то типа (sqlite_escape_string() как у PHP). Использую python 3, модуль sqlite3
  • Вопрос задан
  • 1120 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
А прочитать документацию сложно?
# Never do this -- insecure!
symbol = 'RHAT'
c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)

# Do this instead
t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)
print(c.fetchone())

# Larger example that inserts many records at a time
purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
             ('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
             ('2006-04-06', 'SELL', 'IBM', 500, 53.00),
            ]
c.executemany('INSERT INTO stocks VALUES (?,?,?,?,?)', purchases)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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