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

Eléphant du PHP | 150 Messages

10 févr. 2013, 18:03

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

ViPHP
ViPHP | 1996 Messages

10 févr. 2013, 18:04

Protèges avec mysql_escape_string();
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 150 Messages

10 févr. 2013, 18:50

merci pour cette réponse ultra rapide

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

ViPHP
ViPHP | 1996 Messages

10 févr. 2013, 20:01

"resume" => mysql_escape_string(htmlentities($_POST['resume']));
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 150 Messages

10 févr. 2013, 20:39

merci beaucoup de ton aide si efficace et rapide

Eléphant du PHP | 150 Messages

10 févr. 2013, 20:46

juste petit ic a la place des ' sa m'affiche \\\'

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

10 févr. 2013, 20:58

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 ;)


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 150 Messages

10 févr. 2013, 21:40

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' ,