Maison >base de données >tutoriel mysql >Comment puis-je intégrer en toute sécurité les variables Python dans les requêtes SQL?

Comment puis-je intégrer en toute sécurité les variables Python dans les requêtes SQL?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-25 15:46:12502parcourir

How Can I Safely Incorporate Python Variables into SQL Queries?

Variables intégrées dans Python dans SQL Query

Lorsque vous utilisez Python pour effectuer une requête SQL, la variable est généralement intégrée dans la requête. Par exemple, vous pouvez insérer les données dans la table de la base de données, et ces valeurs sont stockées en variables.

Question

Considérons le code Python suivant:

Parmi eux, var1 est un entier, var2 et var3 sont une chaîne. Lorsque vous essayez d'écrire un nom de variable sans laisser Python les utiliser dans le cadre du texte de la requête, il y aura des problèmes.

<code class="language-python">cursor.execute("INSERT INTO table VALUES var1, var2, var3")</code>
Solution

Afin de résoudre ce problème, vous pouvez utiliser les occupations de la place dans la requête SQL et transmettre la valeur variable en tant que méta-groupe:

Veuillez noter que le groupe de méta contient des valeurs variables. Cela garantit que l'API de la base de données corrige correctement les variables et les références.

AVERTISSEMENT
<code class="language-python">cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))</code>

Évitez d'utiliser le format de format de chaîne (%) pour le remplacement variable, car il n'exécute pas la justice ou la référence, et est facilement injecté avec SQL en attaque.

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