如何在Python3中将输入转换为MySQL数据库? 我使用PyMySQL和工作正常,但是当我尝试做一些事情,如:如何在Python3中将输入转换为MySQL数据库?
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()
在here,但我不知道在哪里可以添加此代码。 这就是我的一切:
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]
是输入。
很酷。不过,您应该将问题的后半部分作为答案发布。你可以接受你自己的答案。 – Grilse 2012-07-07 03:24:35
糟糕,我以前没看到那个按钮。 – user1460016 2012-07-07 12:48:29
如果解决,然后标记自己的问题被接受。 :-) – Jocelyn 2012-07-07 12:53:03