Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que j'obtiens l'erreur « Nombre incorrect de liaisons fournies » lors de la substitution des paramètres SQLite ?

Pourquoi est-ce que j'obtiens l'erreur « Nombre incorrect de liaisons fournies » lors de la substitution des paramètres SQLite ?

DDD
DDDoriginal
2024-10-19 15:29:01341parcourir

Why Do I Get

Problème de substitution de paramètres SQLite

Lors de la tentative d'interrogation d'une base de données SQLite à l'aide de la substitution de paramètres avec Python 2.5, une erreur peut survenir indiquant « Incorrect nombre de fixations fournies." même s'il n'a fourni qu'une seule reliure. Ce problème peut survenir lors de la création de la base de données, ce qui peut impliquer plusieurs liaisons lors de l'insertion de données.

Pour résoudre ce problème, la forme correcte de la méthode Cursor.execute() avec substitution de paramètres doit être utilisée. Au lieu de transmettre une chaîne représentant le paramètre de liaison, une séquence doit être fournie comme deuxième argument. Le code corrigé serait :

<code class="python">for item in self.inventory_names:
    self.cursor.execute("SELECT weight FROM Equipment WHERE name = ?", [item])
    self.cursor.close()</code>

En fournissant la valeur du paramètre dans une séquence, la méthode Cursor.execute() reconnaîtra et appliquera correctement la liaison, résolvant ainsi l'erreur. Référencez la documentation sqlite3 de Python pour plus d'informations sur les objets curseur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn