Maison > base de données > tutoriel mysql > Comment insérer en toute sécurité les variables dans les requêtes SQL dans Python?

Comment insérer en toute sécurité les variables dans les requêtes SQL dans Python?

Barbara Streisand
Libérer: 2025-01-25 15:42:11
original
164 Les gens l'ont consulté

How to Safely Insert Variables into SQL Queries in Python?

Utilisation de variables dans les instructions SQL en Python

Lorsque vous travaillez avec des instructions SQL en Python, il est important de faire attention à la manière dont les variables sont intégrées dans la requête. Dans le code Python fourni, il existe une requête qui doit insérer les variables var1, var2 et var3 dans une table SQL. Le problème est d'éviter d'interpréter les variables comme faisant partie du texte de la requête.

Pour résoudre ce problème, la méthode execute() fournit un mécanisme pour transmettre des variables sous forme de tuples. Le code modifié est le suivant :

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

Attention :

  • Les paramètres sont transmis sous forme de tuples, (var1, var2, var3).
  • Si un seul paramètre est passé, le tuple doit se terminer par une virgule, (a,).

L'API de base de données gère l'échappement et la citation appropriés des variables. Cependant, il est crucial d'éviter d'utiliser l'opérateur de formatage de chaîne (%) pour les raisons suivantes :

  • Il n'effectue pas d'échappement ou de citation, ce qui augmente le risque de vulnérabilités d'injection SQL.
  • Cela peut également conduire à des attaques incontrôlées de formatage de chaînes.

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