【发布时间】:2013-09-27 13:11:41
【问题描述】:
我在尝试在我的 Web 应用程序上安装搜索功能时遇到问题。问题在于以下代码。我尝试了以下两个查询,但 python 给了我一个错误,我将在下面列出:
def searchBox(user_id, searchparams):
try:
cursor = connection.cursor()
if cursor:
sql = "SELECT * FROM db_email WHERE user_id = %d AND deleted = 0 AND subject LIKE '%%%s%%';"
cursor.execute(sql % (user_id, searchparams)
我也试过了:
try:
cursor = connection.cursor()
if cursor:
sql = "SELECT * FROM db_email WHERE user_id = %d AND deleted = 0 AND subject LIKE " + "'%" + searchparams + "%';"
cursor.execute(sql % (user_id))
两者都为我返回此错误:
TypeError: not enough arguments for format string
这是我唯一遇到问题的原始查询,它与我需要调用 LIKE 的方式有关。我可以编写一个存储过程来绕过python,但我觉得我在做一些愚蠢的事情并且忽略了一个问题。任何帮助将不胜感激
谢谢。我认为问题的一部分在于我的 LIKE 查询我需要我的搜索参数用百分号括起来,而下面的答案不能像这样工作 -
subject LIKE '%somestringimlookingfor%'
使用上面的代码,它似乎出来了'test'%''。有什么想法吗?
【问题讨论】: