Maison >développement back-end >Tutoriel Python >Comment puis-je utiliser en toute sécurité des variables dans des instructions SQL dans Python ?

Comment puis-je utiliser en toute sécurité des variables dans des instructions SQL dans Python ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-01 09:03:10969parcourir

How Can I Safely Use Variables in SQL Statements within Python?

Utilisation de variables dans les instructions SQL en Python

Cet article fournit une solution au problème courant lié à l'utilisation de variables dans les instructions SQL en Python. Le code Python suivant :

cursor.execute("INSERT INTO table VALUES var1, var2, var3")

échouera avec une erreur car les noms de variables sont inclus dans le texte de la requête. Pour résoudre ce problème, utilisez la syntaxe suivante :

cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))

Dans cette solution, les noms de variables sont remplacés par des espaces réservés (%s) dans l'instruction SQL. Les paramètres sont ensuite transmis sous forme de tuple (var1, var2, var3). Notez que le tuple doit se terminer par une virgule si vous transmettez un seul paramètre.

L'utilisation de cette méthode garantit que l'API de la base de données gère correctement l'échappement et la citation des variables. Il est important d'éviter d'utiliser l'opérateur de formatage de chaîne %, car il n'effectue aucun échappement ni citation. Cela peut conduire à des failles de sécurité telles que l'injection SQL.

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