web-dev-qa-db-fra.com

Pourquoi devrions-nous parfois utiliser - + au lieu de - dans l'injection SQL pour commenter le reste de la requête?

J'ai rencontré des sites Web qui, lorsque j'ai utilisé -- pour commenter le reste de la requête, cela n'a pas fonctionné, mais quand j'ai essayé --+ ça a marché.

Dans la documentation officielle MySQL il n'y a rien de tel que --+ et nous n'avons que -- et deux autres façons.

Pourquoi cela se produit-il (en détail)? Je veux savoir exactement pourquoi cela fonctionne parfois et -- pas, et pourquoi il n'y a pas --+ pour les commentaires dans la page de manuel MySQL?

27
Richard Jones

De la documentation:

De la séquence - à la fin de la ligne. Dans MySQL, le style de commentaire double tiret) requiert que le deuxième tiret soit --- (suivi d'au moins un espace ou un caractère de contrôle (tel qu'un espace, une tabulation, une nouvelle ligne, etc.). Cette syntaxe diffère légèrement de la syntaxe de commentaire SQL standard, comme indiqué dans la Section 1.8.2.4, "-" comme début de commentaire ".

(c'est moi qui souligne)

De nombreux décodeurs d'URL traitent + comme un espace.

56
AndrolGenhald