Maison > base de données > tutoriel mysql > Comment insérer en toute sécurité des variables dans des instructions SQL à partir de Python ?

Comment insérer en toute sécurité des variables dans des instructions SQL à partir de Python ?

Linda Hamilton
Libérer: 2025-01-25 15:27:11
original
262 Les gens l'ont consulté

How to Safely Insert Variables into SQL Statements from Python?

Variables dans l'instruction SQL dans le code Python

Afin d'insérer des variables dans l'instruction SQL écrite en Python, les paramètres doivent être représentés de manière spécifique pour empêcher les inclure dans le cadre du texte de requête lui-même. La grammaire correcte implique que l'utilisation du lieu occupe et transmet des variables en tant que méta-groupe.

Considérez l'exemple de code Python suivant:

Parmi eux, var1 est un entier, et var2 et var3 sont une chaîne.
<code class="language-python">cursor.execute("INSERT INTO table VALUES var1, var2, var3")</code>
Copier après la connexion

Afin de fusionner ces variables sans utiliser ces variables dans le cadre du texte de la requête en Python, veuillez utiliser la syntaxe suivante:

La différence clé ici est que dans l'instruction SQL, l'utilisation de la position (% s) et les variables sont transmises comme groupe métallique (y compris entre parenthèses). L'API de la base de données gère automatiquement la rigidité et la référence pour s'assurer que les données sont en toute sécurité fusionnées dans la requête.
<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>
Copier après la connexion

Évitez d'utiliser l'opérateur de formatage de chaîne (%) pour passer directement la variable, car il sautera toute rotation ou référence nécessaire, ce qui rend le code facilement attaqué par 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!

source:php.cn
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