La substitution des paramètres SQLite provoque-t-elle des erreurs de liaison en Python ?

Linda Hamilton
Libérer: 2024-10-19 15:23:30
original
603 Les gens l'ont consulté

Is SQLite Parameter Substitution Causing Binding Errors in Python?

Problème de substitution des paramètres SQLite

Lors de l'utilisation de SQLite3 avec Python 2.5, un problème courant survient lors de la tentative de parcourir une liste et de récupérer des données à partir de une base de données. En utilisant le "?" suggéré par mesure de précaution pour les injections SQL entraîne souvent une erreur concernant le nombre de liaisons.

Après enquête, il devient évident que l'erreur provient de la création initiale de la table de base de données. L'instruction de création, telle que :

<code class="sql">CREATE TABLE Equipment (id INTEGER PRIMARY KEY, name TEXT, price INTEGER, weight REAL, info TEXT, ammo_cap INTEGER, availability_west TEXT, availability_east TEXT);</code>
Copier après la connexion

enregistre huit liaisons, même si un seul paramètre est utilisé lors de la requête.

Pour résoudre ce problème, modifiez le code pour utiliser une séquence comme deuxième paramètre de la méthode Cursor.execute() :

<code class="python">self.cursor.execute("SELECT weight FROM Equipment WHERE name = ?", [item])</code>
Copier après la connexion

Cette modification garantit qu'une séquence est fournie à la méthode, résolvant ainsi la confusion sur le nombre de liaisons.

Référencement la documentation SQLite3 Cursor Objects peut fournir des conseils supplémentaires sur ce sujet.

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!