MySQL_Real_Escape_String [Résolu]

Messages postés
356
Date d'inscription
samedi 30 octobre 2004
Dernière intervention
14 avril 2009
- - Dernière réponse : MorpionMx
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
- 9 mai 2006 à 15:48
Bonjour,
Je développe actuelement une application de gestion d'inscription basé sur mysql. En php nous disposons d'une fonction mysql_real_escape_string() qui nous permet d'échapper certain caractère dans les données saisie par l'utilisateur afin d'éviter tous problèmes notamment au niveau des injection sql. J'aurais donc voulu savoir si un tel système était disponible en C#. Je cherche surtout pour échapper les apostrophes.

Merci d'avance.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Messages postés
356
Date d'inscription
samedi 30 octobre 2004
Dernière intervention
14 avril 2009
3
Merci
j'avais oublié ce détail... même si tu as toi aussi une petite erreur :
\' correspond à l'échapement de ' pour le C# lui même, pour conserver l'antislash à destination de mysql il faut :
rue = rue.Replace("'", "\\'");

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_wizad
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
44
0
Merci
Salut,

Je t'invite a lire les 2 articles cités par coq dans ce post



Mx
MVP C#
Commenter la réponse de MorpionMx
Messages postés
356
Date d'inscription
samedi 30 octobre 2004
Dernière intervention
14 avril 2009
0
Merci
Je refuse déja certain caractère et certain mot clé... il me reste simplement à parsé le guillemet simple (ou apostrophe) en fait.

Jai bien essayé ceci :
string rue = "10 rue l'ecuyer";
rue.replace("'", "\'");

Mais quand j'affiche 'pour controle la chaine rue, elle contient l'apostrophe sans le caractère d'échapement... Quelqu'un sait pourquoi?

J'ai bien regardé les 3 articles mais cela me semble lourd pour parser simplement un apostrophe par ci par là.
Commenter la réponse de cs_wizad
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
44
0
Merci
En C#, la classe string est immuable, et la Méthode Replace te permet de recuperer une nouvelle instance de ta string avec les modifications.

rue = rue.Replace("'", "\'");



Mx
MVP C#
Commenter la réponse de MorpionMx
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
44
0
Merci
Mais en utilisant les requetes parametrees, normalement il n'y a pas de probleme avec tes '
Et les requetes paramétrées sont faites pour eviter les injections



Mx
MVP C#
Commenter la réponse de MorpionMx
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
44
0
Merci
J'ai juste fait un copier coller de ton code en mettant rue = , sans vérifier le reste ^^



Mx
MVP C#
Commenter la réponse de MorpionMx
Messages postés
356
Date d'inscription
samedi 30 octobre 2004
Dernière intervention
14 avril 2009
0
Merci
je m'en doute bien ^^ (je t'ai send un mp aussi suite à un pb de printpreviewcontrol qui reste noir...)
Commenter la réponse de cs_wizad
Messages postés
3489
Date d'inscription
lundi 16 octobre 2000
Dernière intervention
30 octobre 2008
44
0
Merci
Pose ta question ici, ou recrées un message dans le forum, pour qu'elle puis profiter a tout le monde ;) (et aussi avoir plus d'aide )



Mx
MVP C#
Commenter la réponse de MorpionMx

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.