Impossible!!!

Résolu
imparfait1 Messages postés 7 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 24 mai 2009 - 30 janv. 2009 à 04:37
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 31 janv. 2009 à 17:20
Bonjour,

Je suis nouveau dans ce forum, et nouveau avec le php... 

Tout fonctionnait jusqu'à maintenant, mais depuis 2 jours, je bute sur un problème.

Voici une partie de mon code :
=========================================
echo $ladesc; // ma variable qui me cause problème
   
   mysql_connect("localhost", "root", "");
   mysql_select_db("base");



   mysql_query("UPDATE annonces SET make='".$make."' WHERE id='".$lenoa."'");
   
   mysql_query("UPDATE annonces SET desc='" .$ladesc. "' WHERE id='".$lenoa."'");

   mysql_close();

=================================================================

J'ai mis un deuxième UPDATE car lorsque je mets la variable $ladesc dans le premier UPDATE, la
modification n'a pas lieu...

Alors, mon premier UPDATE fonctionne, mais pas le deuxième...  La variable 'desc' dans ma base de
donnée est un champ texte.

MERCI BEAUCOUP à ceux qui m'aideront !!!!

Jean

10 réponses

kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 janv. 2009 à 16:15
Arf, je n'avais pas vu de suite mais il se peut (pas testé) que tu ai un problème avec le nom du champ desc car c'est un mot réservé mySQL.
2 solutions :
- tu changes le nom du champ : si c'est assez simple à modifier pour toi je pense que c'est une bonne idée, ça évitera de futurs problèmes
- tu modifies ta requête comme suit :
"UPDATE annonces SET `desc`='$ladesc', `make`='$make' WHERE id='$lenoa'"

Je pense que le pb vient de là, dis nous si ça marche.

Kohntark -
3
scrugeon Messages postés 6 Date d'inscription lundi 26 janvier 2009 Statut Membre Dernière intervention 30 janvier 2009
30 janv. 2009 à 09:44
Bonjour,

Si j'ai bien compris, ta variable "$ladesc" et ton entrée de table "desc" sont toutes les deux des champs texte et quand tu essayes de saisir "$ladesc" dans "desc" ça ne marche pas.

As-tu fait un codage ou une conversion de caractères ? Ca se peut que se soit un ' dans la chaine qui fasse foirer la requête. Essaye d'encoder ta chaine de caractère avec un truc comme ça : $synopsis = htmlentities($synopsis, ENT_QUOTES);
Plus d'explications sur la fonction ici.

Essayes ça et dis-nous si tu ça résous ton problème.

Cordialement
Sylvère

Malheur à qui me frôle, bonheur à qui me prend
0
imparfait1 Messages postés 7 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 24 mai 2009
30 janv. 2009 à 13:42
Je viens juste d'essayer...

Rien à faire, ma variable ne se modifie pas.  Pourtant, j'ai d'autres variables texte dans la même requête et ça fonctionne (j'ai simplifié mon code pour le forum).

Quelqu'un a une autre idée !?

MERCI !!!
0
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
30 janv. 2009 à 16:25
Salut,

Essais ça et dis nous si tu as des erreurs :

if (false === mysql_query("UPDATE annonces SET make='$make' WHERE id='$lenoa'")) {
  die(mysql_error());
}

   
if (false === mysql_query("UPDATE annonces SET desc='$ladesc' WHERE id='$lenoa'")) {
  die(mysql_error());

}

Cordialement,

Kohntark -
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
30 janv. 2009 à 16:27
Enfin plutôt ça :

if (false === mysql_query("UPDATE annonces SET desc='$ladesc', make='$make' WHERE id='$lenoa'")) {
   die(mysql_error());
}

Cordialement,

Kohntark -
0
imparfait1 Messages postés 7 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 24 mai 2009
30 janv. 2009 à 21:35
Merci de bien vouloir m'aider, c'est TRÈS apprécié !


 


J'ai ce message :


 



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 'desc='adsfasdf', make='2' WHERE id='72'' at line 1

Naturellement, la valeur 'adsfasdf' n'était que pour mon test d'update ! 

Avez-vous une idée ?

Merci encore!
0
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 janv. 2009 à 12:30
Salut,

Je ne vois pas trop ce qui peut clocher là.
Essais de faire ça :

if (false === mysql_query("UPDATE annonces SET desc='$ladesc', make='$make' WHERE id='$lenoa'")) {
   die(mysql_error());
}
=>
$sql = "UPDATE annonces SET desc='$ladesc', make='$make' WHERE id='$lenoa'";
if (false === mysql_query($sql)) {
   die(mysql_error().'
requête sql : '.$sql);
}

Et poste l'erreur et la requête sql.

Kohntark -
0
imparfait1 Messages postés 7 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 24 mai 2009
31 janv. 2009 à 15:58
Merci Kohntark pour ton aide!


 


Voici le message :


<center>
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 'desc='ddd', make='0' WHERE id='72'' at line 1

requête sql : UPDATE annonces SET desc='ddd', make='0' WHERE id='72'


</center>
0
imparfait1 Messages postés 7 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 24 mai 2009
31 janv. 2009 à 16:29
MERVEILLEUX !!!!

MERCI 1000 fois, ça fonctionne !
0
kohntark Messages postés 3706 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
31 janv. 2009 à 17:20
cool

Bonne continuation,

Kohntark -
0