I\'ve got an argument tag
and I perfomed this way:
cursor.execute(\"SELECT * FROM posts WHERE tags LIKE \'%?%\'\", (tag,))
but
Remove the %
:
cursor.execute("SELECT * FROM posts WHERE tags LIKE ?", (tag,))
This should format it as you wanted. For example, if tag == 'test'
the full query would be:
SELECT * FROM posts WHERE tags LIKE 'test'
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.