Maison > base de données > tutoriel mysql > Comment puis-je insérer en toute sécurité plusieurs variables dans une base de données MySQL à l'aide de Python ?

Comment puis-je insérer en toute sécurité plusieurs variables dans une base de données MySQL à l'aide de Python ?

Linda Hamilton
Libérer: 2024-12-13 10:41:15
original
509 Les gens l'ont consulté

How Can I Safely Insert Multiple Variables into a MySQL Database Using Python?

Requêtes paramétrées dans MySQL

L'insertion de plusieurs variables dans une table de base de données MySQL à l'aide du module MySQLdb peut être délicate. Considérez la déclaration suivante :

cursor.execute ("""
    INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation)
    VALUES
        (var1, var2, var3, var4, var5, var6)

""")
Copier après la connexion

Cependant, l'utilisation de l'interpolation de chaîne dans les requêtes SQL est problématique car elle peut introduire des vulnérabilités de sécurité en laissant votre application vulnérable à l'injection SQL. L'approche correcte consiste à utiliser des requêtes paramétrées, ce qui garantit un échappement correct des paramètres d'entrée.

Paramètres d'échappement

Au lieu de l'interpolation de chaîne, utilisez des espaces réservés dans la requête et liez le leur donner les valeurs réelles à l'aide d'un tuple. Par exemple :

cursor.execute("INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (%s, %s, %s, %s, %s, %s)", (var1, var2, var3, var4, var5, var6))
Copier après la connexion

Cette méthode protège contre l'injection SQL en échappant automatiquement les valeurs avant d'exécuter la requête.

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