Rechercher dans une base de données

Bonjour à tous
je développe une application en python et dans une partie de l’application il faut faire une recherche dans une base de données et afficher le résultat dans un tableau .
Malheureusement ma requêtes de recherche me renvois une erreur

ci-dessous ma fonction pour la recherche

def recherche():

    num_bapteme = RECHERCHE_txtEntre.get()
    date_bapteme = RECHERCHEEntre.get()
    nom_pere = RECHERCHEEntre.get()
    prenom_baptise = RECHERCHEEntre.get()

    conn = mysql.connector.connect(host='localhost', user='root', password='', db='registre_stbernard')
    cursor = conn.cursor()
    cursor.execute(" select * from r_bapteme where numero_bapteme like ?", ('%' + num_bapteme + '%',))
    results = cursor.fetchall
  

l’erreur

File "C:\Users\SF_RSI\PycharmProjects\Registre_StBernard\RECH_BAPTEME.py", line 16, in recherche
    cursor.execute(" select * from r_bapteme where numero_bapteme like ?", ('%' + num_bapteme + '%',))
  File "C:\Users\SF_RSI\PycharmProjects\pythonProject\.venv\Lib\site-packages\mysql\connector\cursor_cext.py", line 352, in execute
    raise ProgrammingError(
mysql.connector.errors.ProgrammingError: Not all parameters were used in the SQL statement

Merci de bien vouloir m’aider chez communauté

Bonjour,
Il me semble qu’il faut utiliser %s plutôt que ? comme placeholder.

Bonjour
ok j’essaie pour voir
Merci bien

Bonjour, voici un (parmi tant d’autres) algorithme d’investigation pour vous :

  • Lisez le message d’erreur en sortie pour déterminer où est survenue l’erreur : on lit line 16 in recherche cursor.execute(".... Votre premier “suspect” est donc la méthode cursor.execute().

  • Trouvez et lisez la documentation de la méthode cursor.execute() :

  • Corrigez votre code et relancez. Si erreur, recommencez…