échapper les caractère spéciaux

comalias94 -  
 comalias94 -
Bonjour,
Je voudrais savoir comment échapper les caractère spéciaux avec MySQL
quel est le paramétrage a faire ?

J'utilise la version 5

Merci
A voir également:

2 réponses

toto
 
Bonjour

il n'y a pas de paramétrage particulier.
en php, il y a la fonction mysql_real_escape_string qui sert à cà (et surtout pas addslashes comme on voit souvent)
0
comalias94
 
Bonjour

j'ai essayer cette fonction mais aucun effet sur les cractère accentués

que faut il utiliser ?
0
Alain_42 Messages postés 5413 Statut Membre 894 > comalias94
 
cette fonction ne fait rien sur les caracteres accentues, htmlentites le fait mais j'ai remarqué que ça ne marche pas bien avec les caracteres accentues recus d'un formulaire.

alors il faut te faire une petite fonction avec ereg_replace("é";"é", $chaine) par exemple

tu mets tous les carateres dans un array et tu fais une boucle
0
toto > comalias94
 
j'ai essayer cette fonction mais aucun effet sur les cractère accentués
Cette fonction ne fait rien sur les caractères accentués parce que les caractères accentués n'ont pas à être échappés.
Quant à htmlentities, ça sert à coder les caractères pour un affichage en html. Aucun rapport avec les bases de données, même si on lit souvent le contraire. Elle ne devrait être utilisée qu'au moment de l'affichage des données, pas avant leur stockage.
0
comalias94
 
ok merci Alain_42 sa fonctionne mais j'ai remarqué que mon soucis provient de ma mase de donné sql car lorsque j'envoie une requette à partir des informations (provenant d'un formulaire) sa bloque :

$result1 = mysql_query("SELECT * FROM table_champs WHERE NomInput='$temp1b' AND Champs='$temp2b'")

while($info = mysql_fetch_assoc($result1))
{
$msg=mysql_escape_string($info["Type"]);
}

ma requettes me donne un résulttat ok dans $msg seulement si l'info que je lui envoie n'a pas de caractère spécial ou de caractère accentué

PS: $temp1b et $temp2b sont issue d'un mysql_real_escape_string() et d'un ereg_replace() avant d'etre utilisé dans la requette

Merci pour votre aide
0