Django/Python中的类SQL
我正在尝试运行如下查询:Django/Python中的类SQL,python,sql,django,Python,Sql,Django,我正在尝试运行如下查询: SELECT * FROM MyTable WHERE FirstName LIKE '%[user inputted value here]%' OR LastName LIKE '%[that same user inputted value]%' AND UserID = some number 当我使用cursor.execute()运行查询时,输入的值将被转义和引用,这将导致运行错误的查询。有没
SELECT *
FROM
MyTable
WHERE
FirstName LIKE '%[user inputted value here]%'
OR
LastName LIKE '%[that same user inputted value]%'
AND
UserID = some number
当我使用cursor.execute()运行查询时,输入的值将被转义和引用,这将导致运行错误的查询。有没有办法防止用户输入的值被引用
我更喜欢不使用Django的ORM的解决方案,因为实际查询比我的示例复杂得多 在您的查询中使用
foo\uuuu contains=realvaluehere
。嗯,看起来我高估了API的逃逸性。这正是我想要的
# add wildcards to query, these are **not** escaped
q = "%" + q + "%"
cursor = connection.cursor()
cursor.execute("SELECT *
FROM MyTable
WHERE
LastName LIKE %s
AND
FirstName LIKE %s
AND
UserID = %s", [q, q, user_id])
results = cursor.fetchall()
这是MySQLdb吗?你能告诉我们“转义和引用”是什么意思吗?问题是什么?有一个很好的机会,它可以做到使用ORM。。。