Page 1 sur 1

erreur lors d'une insertion sql a cause des ( ' )

Posté : 10 févr. 2013, 18:03
par neomega
bonjour

voici ma ligne d'insetion du resumé

:
"resume" => stripslashes(htmlentities($_POST['resume'])),
lorsque dans $_POST['resume'] je met des apostrophe ( ' ) sa me met cette erreur lors de l'envoie

Code : Tout sélectionner

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
traduit :

Code : Tout sélectionner

Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre version du serveur MySQL pour la bonne syntaxe à utiliser à proximité de
est ce que je fait mal mon injection ?

merci encore

Re: erreur lors d'une insertion sql a cause des ( ' )

Posté : 10 févr. 2013, 18:04
par Aureusms
Protèges avec mysql_escape_string();

Re: erreur lors d'une insertion sql a cause des ( ' )

Posté : 10 févr. 2013, 18:50
par neomega
merci pour cette réponse ultra rapide

comme sa ????? :
"resume" => mysql_escape_string(stripslashes(htmlentities($_POST['resume']))),

Re: erreur lors d'une insertion sql a cause des ( ' )

Posté : 10 févr. 2013, 20:01
par Aureusms
"resume" => mysql_escape_string(htmlentities($_POST['resume']));

Re: erreur lors d'une insertion sql a cause des ( ' )

Posté : 10 févr. 2013, 20:39
par neomega
merci beaucoup de ton aide si efficace et rapide

Re: erreur lors d'une insertion sql a cause des ( ' )

Posté : 10 févr. 2013, 20:46
par neomega
juste petit ic a la place des ' sa m'affiche \\\'

Re: erreur lors d'une insertion sql a cause des ( ' )

Posté : 10 févr. 2013, 20:58
par moogli
salut,


htmlentites est à réserver à l'affichage ;)

ce que tu indique c'est l'affichage ?

si oui, est ce que c'est des champs que tu as modifé après première insertion ?

regarde sur un phpinfo(); si les magic_quote sont activée (gpc, runtime etc etc).
si oui => as désactiver ;)


@+

Re: erreur lors d'une insertion sql a cause des ( ' )

Posté : 10 févr. 2013, 21:40
par neomega
en fait ceci est mon insertion dans la bdd
"resume" => mysql_escape_string(htmlentities($_POST['resume']));
donc si j'ai tout bien compris

je doit faire ceci :
"insertion dans la bdd"
"resume" =>  mysql_escape_string($_POST['resume']);
et
"affichage"
<?php echo htmlentities(stripslashes($data['resume'])); ?>
------------------------------

mais lors de la modification dans la bdd je doit faire ceci ?? :
<input name="resume" type="text" value="<?php echo htmlentities(stripslashes($result->resume)) ;?>">
puis
$resume = $_POST["resume"] ;

$sql = "UPDATE latable SET 
	resume= '$resume' ,