De ce fait, si les données entrantes ne sont pas correctement contrôlées ou nettoyées, elles peuvent être utilisées pour manipuler les requêtes SQL et accéder à des informations sensibles, les modifier ou même détruire la base de données.
La vulnérabilité aux attaques par injection SQL est généralement due à une mauvaise gestion des données entrantes par le site web. La nature du langage SQL ne fait pas de distinction réelle entre le plan de contrôle (les instructions du programme) et le plan de données (les données manipulées par le programme). De ce fait, si les données entrantes ne sont pas correctement contrôlées ou nettoyées, elles peuvent être utilisées pour manipuler les requêtes SQL et accéder à des informations sensibles, les modifier ou même détruire la base de données.