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

Pourquoi cette injection SQL réussit-elle même si l'instruction SQL produit une erreur de syntaxe ?

Les requêtes sont toujours exécutées car mysql utilise ; pour délimiter chaque requête et il continuera à exécuter les requêtes même en cas d'erreur de syntaxe si vous l'autorisez à le faire. En exécutant les requêtes dans SequelPro, je reçois un message concernant l'erreur de syntaxe et il me demande si je veux continuer à exécuter toutes les requêtes ou arrêter. Cependant, en les exécutant directement dans la ligne de commande MySQL, les requêtes continuent de s'exécuter et MySQL donne simplement un message d'erreur et passe à la requête suivante comme prévu (même chose qui se produit avec le code PHP).