小编use*_*016的帖子

如何在Python3中将输入转义为MySQL数据库?

如何在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)

mysql sql python-3.x pymysql

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

mysql ×1

pymysql ×1

python-3.x ×1

sql ×1