Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je échapper l'entrée d'une base de données MySQL en Python3 ?

Bien que la réponse "résolue" fonctionne, ce n'est pas la meilleure pratique. Lorsque vous utilisez une bibliothèque conforme à Python DBI, vous devez utiliser des variables de liaison plutôt que de formater une chaîne et de la transmettre à execute. Il y a des dangers inhérents à cette méthodologie.

Par conséquent, voici la bonne façon de procéder :

cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` = %s", text)

Notez qu'il ne s'agit pas d'une chaîne de format mais d'une variable de liaison transmise au curseur d'exécution.

Pour plus de détails :Python DBI PEP