Web アプリケーションに検索機能をインストールしようとすると問題が発生します。問題は次のコードにあります。次の2つのクエリを試しましたが、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 クエリにあると思います。searchparams をパーセント記号で囲む必要があり、以下の回答はそのように機能しません-
subject LIKE '%somestringimlookingfor%'
上記のコードでは、'test'%'' になるようです。何か案は?