MySQL_Real_Escape_String [Résolu]

cs_wizad 356 Messages postés samedi 30 octobre 2004Date d'inscription 14 avril 2009 Dernière intervention - 9 mai 2006 à 14:55 - Dernière réponse : MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention
- 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
cs_wizad 356 Messages postés samedi 30 octobre 2004Date d'inscription 14 avril 2009 Dernière intervention - 9 mai 2006 à 15:34
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("'", "\\'");

Merci cs_wizad 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de cs_wizad
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 9 mai 2006 à 15:03
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
cs_wizad 356 Messages postés samedi 30 octobre 2004Date d'inscription 14 avril 2009 Dernière intervention - 9 mai 2006 à 15:15
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
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 9 mai 2006 à 15:25
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
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 9 mai 2006 à 15:32
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
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 9 mai 2006 à 15:40
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
cs_wizad 356 Messages postés samedi 30 octobre 2004Date d'inscription 14 avril 2009 Dernière intervention - 9 mai 2006 à 15:44
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
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 9 mai 2006 à 15:48
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.