如何在Python3中将输入转义为MySQL数据库?我正在使用PyMySQL并且工作正常,但是当我尝试做类似的事情时:
cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` = '{}'".format(request[1]))
Run Code Online (Sandbox Code Playgroud)
如果字符串有'或不起作用".我也尝试过:
cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` = %s",request[1])
Run Code Online (Sandbox Code Playgroud)
这个问题是库(PyMySQL)使用Python2.x的格式化语法%,它不再起作用了.我也发现了这种可能的解决方案
conn.escape_string()
Run Code Online (Sandbox Code Playgroud)
在这里,但我不知道在哪里添加此代码.这就是我得到的:
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()
Run Code Online (Sandbox Code Playgroud)
编辑:我解决了!在PyMySQL中,正确的方法是这样的:
import pymysql
import sys
conn = pymysql.connect(host="localhost",
user="test",
passwd="",
db="test")
cursor = conn.cursor()
text = …Run Code Online (Sandbox Code Playgroud)