Как я могу избежать ввода в базу данных MySQL в Python3?

Как я могу избежать ввода в базу данных MySQL в Python3? Я использую PyMySQL и работает нормально, но когда я пытаюсь сделать что-то вроде:

cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` =  '{}'".format(request[1]))

это не сработает, если строка' или же", Я также попробовал:

cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` =  %s",request[1])

Проблема в том, что библиотека (PyMySQL) использует синтаксис форматирования для Python2.x,%, это больше не работает. Я также нашел это возможное решение

conn.escape_string()

вВот, но я не знаю, куда добавить этот код. Это все, что я получил:

import pymysql
import sys
conn = pymysql.connect( host   = "localhost",
            user   = "test",
            passwd = "",
            db     = "test")
cursor = conn.cursor()
cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` =  {}".format(request[1]))

result = cursor.fetchall()

cursor.close()
conn.close()

Изменить: я решил это! В PyMySQL правильный путь выглядит следующим образом:

import pymysql
import sys
conn = pymysql.connect(host="localhost",
            user="test",
            passwd="",
            db="test")
cursor = conn.cursor()
text = conn.escape(request[1])
cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` =  {}".format(text))

cursor.close()
conn.close()

Гдеtext = conn.escape(request[1]) строка - это то, что ускользает от кода. Нашел его внутри кода PyMySQL. Там,request[1] это вход.

Ответы на вопрос(0)

Ваш ответ на вопрос