1

Sujet : Pb pour échapper les caractères spéciaux

Bien le bonsoir,

Je suis embêté avec  ce satané ' .
Je n'arrive pas à l'échapper ce qui fait que j'ai une erreur de requête.

J'ai un formulaire qui alimente ma base de données, le problème c'est qu'il y a un textarea dans lequel il y a
aucune limitation de caractère. (c'est voulu)
Dès qu'un apostrophe y est inscrit pan  j'ai mon erreur de requete sql :

Erreur SQL !INSERT INTO gecko(id, nom, email, contenu) VALUES('',',n,,,',',bn,nb,nb,',mysql_real_escape_string(trim(htmlspecialchars(bn,bn,nb,ff'))) )
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''))) )' at line 1

Cela vient du caractère ' qui pose problème. Sans tout passe nikel.

Voila ma requete sql :

    $sql="INSERT INTO gecko(id, nom, email, contenu) VALUES('','$nom','$email','$contenu')";



J'ai essayé cette requête aussi mais elle passe pas du tout elle :

    $sql="INSERT INTO gecko(id, nom, email, contenu) VALUES('','$nom','$email',mysql_real_escape_string(trim(htmlspecialchars($contenu)))
)";



S.O.S   xD

2

Re: Pb pour échapper les caractères spéciaux

bonsoir,

<?php
$nom = mysql_real_escape_string($nom);
$email = mysql_real_escape_string($email);
$contenu = mysql_real_escape_string($contenu);

mysql_query("INSERT INTO gecko VALUES(' ','$nom','$email','$contenu')");
echo mysql_error().'<br />';
mysql_close(); // Deconnexion de MySQL
?>

Est-ce que ce code fonctionne mieux ?

3

Re: Pb pour échapper les caractères spéciaux

Bonsoir,

Je crois que tu as un problème de base en PHP si tu as mysql_real_escape_string() dans l'erreur MySQL

lesCigales.ORG sysadm1n
L'hébergeur qui sent bon la lavande - Un control panel qu'il est chouette - Viendez nous parler!
"All that is necessary for evil to triumph is for good men to do nothing."

4

Re: Pb pour échapper les caractères spéciaux

Nikel ca marche.

En fait , toad l'erreur de requête que j'ai copié, j'ai pas fait attention mais c'est l'erreur sur ma seconde requête. Dans  ma première requête c'est nico qui a raison.

Par contre j'ai gardé ca :

    $sql="INSERT INTO gecko(id, nom, email, contenu) VALUES('','$nom','$email','$contenu')";
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());


Avec :
mysql_query("INSERT INTO gecko VALUES(' ','$nom','$email','$contenu')");
echo mysql_error().'<br />';

J'ai une erreur.
Mais merci pour le coup de patte, j'avais tellement la tête dedans que je ne voyais plus l'évident.

@+ (a bientôt plutôt...)