Maison >développement back-end >Tutoriel Python >Comment puis-je utiliser en toute sécurité des variables dans des instructions SQL dans 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!