PyODBC : exécution d'une instruction Select avec une variable de paramètre
Dans ce scénario, vous cherchez à récupérer des lignes de la table Throughput en fonction d'un DeviceName spécifique stocké dans data['DeviceName']. Cependant, vos tentatives précédentes d'exécution de l'instruction SELECT avec une variable paramètre ont échoué.
La solution consiste à utiliser le paramétrage dans votre instruction SQL. En utilisant le "?" et en passant le DeviceName comme argument, vous pouvez protéger votre système contre l'injection SQL et d'autres vulnérabilités de sécurité.
Voici une approche révisée :
cursor.execute("SELECT * FROM Throughput WHERE DeviceName = ?", data['DeviceName'])
Le paramétrage offre plusieurs avantages :
En plus de la version révisée extrait de requête, voici une partie d'un exemple de code fonctionnel pour votre référence :
query = "SELECT * FROM Throughput WHERE DeviceName = '%s'" % data['DeviceName'] try: for row in cursor.execute(query): ...
N'oubliez pas de valider la saisie de l'utilisateur, que vous utilisiez du SQL paramétré ou dynamique pour plus de sécurité.
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!