"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Les compétences de Python pour insérer en toute sécurité les variables dans les déclarations SQL

Les compétences de Python pour insérer en toute sécurité les variables dans les déclarations SQL

Publié le 2025-04-17
Parcourir:769

How to Safely Insert Variables into SQL Statements Using Python?

insérer des variables en instructions sql dans python

Dans Python, lors de l'exécution des instructions SQL avec des variables, il est crucial de passer correctement les variables, ce qui empêche les attaques d'injection potentielles et assure une exécution correcte.

pour insérer des variables en instructions SQL, utilisez des espaces réservés dans l'instruction et passez des variables sous forme de tuples. Par exemple, considérez le code python suivant:

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

où var1 est un entier, var2 et var3 sont des chaînes.

pour passer correctement les variables, utilisez la méthode d'exécution avec les espaces réservés et les tuples contenant des variables:

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

Notez l'utilisation des espaces réservés (% s) dans les instructions SQL et les supports autour des tuples dans les méthodes d'exécution.

Il est important d'éviter d'utiliser l'opérateur de formatage de chaîne (%), car il contourne les évasions et les références correctes, rendant les requêtes vulnérables aux attaques d'injection SQL.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3