title: cursor.execute() returning empty list when used with parametrized query(python,sqlite)
body: <p>when i use this code:</p>
  
  <pre class="lang-py prettyprint-override"><code> def recherche(case,value='*'):
          cursor = sqliteConnection.cursor()
          if value == '*':
              cursor.execute("SELECT * FROM Articles ORDER BY ID;")
          else:
              value="%" + str(value) + "%"
              p=(case,value)
              cursor.execute("SELECT * FROM Articles WHERE ? LIKE ? ORDER BY ID;",p)
          result = cursor.fetchall()
          cursor.close()
          return result
  </code></pre>
  
  <p>result returns as an empty list<br>
  on the other hand if i use this:</p>
  
  <pre class="lang-py prettyprint-override"><code> def recherche(case,value='*'):
          cursor = sqliteConnection.cursor()
          if value == '*':
              cursor.execute("SELECT * FROM Articles ORDER BY ID;")
          else:
              value=str(value)
              p=(case,value)
              cursor.execute("SELECT * FROM Articles WHERE " + case + " LIKE '%" + value + "%' ORDER BY ID;")
          result = cursor.fetchall()
          cursor.close()
          return result
  </code></pre>
  
  <p>the values are returned properly.<br>
  From what i understood using the first method is more optimised but it doesnt work for me at all.</p>