I’ve got an argument tag
and I perfomed this way:
cursor.execute("SELECT * FROM posts WHERE tags LIKE '%?%'", (tag,))
but it doesn’t seem to work.
I’m new to sqlite, please tell me how to fix it. Thx !
Advertisement
Answer
Apply the wildcards to the parameter, not the SQL:
cursor.execute("SELECT * FROM posts WHERE tags LIKE ?", (f'%{tag}%',))
The ?
SQL parameter interpolation adds quoting for you, so your query ends up as '%'value'%'
, which is not valid SQL.