Я использую Python и MySQLdb для загрузки веб-страниц и сохранения их в базе данных. У меня проблема в том, что я не могу сохранить сложные строки в базе данных, потому что они не экранированы должным образом.
Есть ли функция в Python, которую я могу использовать для экранирования строки для MySQL? Я пробовал использовать ''' (тройные простые кавычки) и """, но это не сработало. Я знаю, что в PHP есть mysql_escape_string(), есть ли что-то подобное в Python?
Спасибо.
db_cur.execute('''UPDATE test_table SET field_1="%s" WHERE field_2="%s"''' % (data, condition))Обратите внимание на тройные одинарные и двойные кавычки вокруг%s- person zelusp   schedule 29.10.2016%в вашем коде быть запятой,, иначе это то же самое? @zelusp - person Artemis   schedule 15.07.2019% (data, condition)берет переменныеdataиconditionи помещает их в два заполнителя%s. - person zelusp   schedule 15.07.2019conditionбыло, например," or 1 == 1 or", например, у вас была бы проблема.cur.executeобеспечивает побег, выполнивcur.execute('SOME COMMAND ?', [value]).?заменяется значением. - person Artemis   schedule 21.07.2019