Hello tous
vous me trouverez bien décontenancé avec ce petit problème qui m'intrigue quelque peu! explication:
les utilisateurs du site sur lequel je travaille devront pouvoir éditer des données les concernant (données stockées dans une table), il y a notamment un champ textarea dans le formulaire dédition et c'est lui qui me pose problème...
lorsqu'il il n'est entré aucun caractères accentués l'opération se passe sans problème mais ce n'est pas le cas avec carac. accent., ça me retourne cette erreur:
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 'test é ï ù
blablabla blablabla blablabla
blablabla blablabla bl' at line 3
"test é ï ù blablabla blablabla blablabla blablabla blablabla bl" est un test de texte dans le textarea...
Voici enfin mon code pour traiter le formulaire:
$descriptif = $_POST['descriptif'];
$descriptif = mysql_real_escape_string(htmlspecialchars($_POST['descriptif'], ENT_QUOTES));
$descriptif = stripslashes(nl2br($_POST['descriptif']));
$cat = $_POST['style'];
$licence = $_POST['licence'];
$dl = $_POST['dl'];
$tune = $_POST['tune'];
$refid = $_POST['refid_user'];
//On modifie la table
mysql_query("
UPDATE mb_tunes
SET cat ='".$cat."' ,
descriptif = '".$descriptif."' ,
licence = '".$licence."' ,
dl = '".$dl."'
WHERE tune = '".$tune."' AND refid_user = '".$refid."'") or die (mysql_error());
echo '<h4>Succès</h4><p>Le son a bien été modifié!
<p>';
Alors, c'est grave docteur?
Edit
Après un autre test j'en déduis que les ' posent aussi problème...
Redit
Résolu, j'ai modifié cette partie du code en remplaçant les ' par des " et les " par des ', et fa marfe!
mysql_query('
UPDATE mb_tunes
SET cat ="'.$cat.'" ,
descriptif = "'.$descriptif.'" ,
licence = "'.$licence.'" ,
dl = "'.$dl.'"
WHERE tune = "'.$tune.'" AND refid_user = "'.$refid.'"') or die (mysql_error());