Rechercher : dans
Par :

Requete UPDATE sur plusieurs champs

Dernière réponse le 8 jun 2009 à 08:24:20 jeinny, le 4 jun 2009 à 10:13:10 
 Signaler ce message aux modérateurs

Bonjour,

Je code en PHP et j'utilise MySql.
Voila, j'ai un formulaire de modification d'une table "Compte" où les champs sont automatiquement remplis grâce aux choix de l'utilisateur avec une liste dynamique. Celui-ci peut donc modifier tous les champs qu'il souhaite à par la clé primaire (choisi dans la liste et qui se réaffiche) et donc je voulai faire une requête UPDATE mais celle-ci ne fonctionne pas.

Voici ma requête:
" ("UPDATE Compte SET ClasseCompte = $TxtClasseCompte, LibelleCompte=$TxtLibelleCompte, IdCodeCtrl=$TxtCodeCtrl, IdCycle=$TxtCycle, IdCodeBafi=$TxtCodeBafi, IdCodeSysiphe=$TxtCodeSysiphe, RubriqueDetailSysiphe=$TxtRubriqueDetailSysiphe WHERE IdCompte=$TxtIdCompte") "

et voici le message d'erreur:
" Erreur sql !
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 'BUREAUX, IdCodeCtrl=8, IdCycle=19, IdCodeBafi=13111, IdCodeSysiphe=, RubriqueDet' at line 1
"

Merci pour votre aide.
Cordialement.

Configuration: Windows XP Internet Explorer 7.0

1

Jodu, le 4 jun 2009 à 10:20:13
  • +1

Salut,

si tu ne mets pas des quotes à tes variables qui renvoient une valeur numériques a ton champ de MySQL (numérique aussi), ce n'est pas grave, ça marche (enfin chez moi oui).

Sinon, entoure de quotes (simples) les variables que MySQL n'enregistre pas en numériques.

Si tout est numérique, alors essaie ceci :

("UPDATE Compte SET ClasseCompte = '" . $TxtClasseCompte . "', LibelleCompte = '" . $TxtLibelleCompte . "', IdCodeCtrl = '" . $TxtCodeCtrl . "', IdCycle = '" . $TxtCycle . "', IdCodeBafi = '" . $TxtCodeBafi . "', IdCodeSysiphe = '" . $TxtCodeSysiphe . "', RubriqueDetailSysiphe = '" . $TxtRubriqueDetailSysiphe . "' WHERE IdCompte = '" . $TxtIdCompte . "' ") 

Répondre à Jodu

2

jeinny, le 4 jun 2009 à 10:45:56

Oh mais oui suis-je bête merci beaucoup les erreur les plus petite sont souvent les plus chiante mas heureusement l'avis exterieur sert beaucoup surtout quand se sont de bons yeux !!

merci beaucoup :) :D

Répondre à jeinny

3

jeinny, le 4 jun 2009 à 10:51:25

J'aurrai une dernière question à vous poser.
Voila je voudrai savoir comment faire pour vérifier si cette requette de modification a bien été faite dans la base de donnée e affichant un message à l'utilisateur.

Au départ j'avait fait cela mais ça ne fonctionne pas bien sûr:
$reponse = mysql_query($requete, $connexion);
if ($reponse)
{
print("Modification effectué avec succès");
}
else
{
print("Echec dans la modification");
}


Merci encore de votre aide.
Cordialement.

Répondre à jeinny

4

Jodu, le 4 jun 2009 à 11:03:46

De rien :)

Le if ne marche pas ?

Met un or die a la fin de ta requete :

mysql_query($requete, $connexion) or die('Erreur SQL !'.$requete.'<br>'.mysql_error());

Répondre à Jodu

5

jeinny, le 4 jun 2009 à 11:06:21

Il y est déja:

$requete = mysql_query("UPDATE Compte SET ClasseCompte = '$TxtClasseCompte', LibelleCompte = '$TxtLibelleCompte', IdCodeCtrl = '$TxtCodeCtrl', IdCycle = '$TxtCycle', IdCodeBafi = '$TxtCodeBafi', IdCodeSysiphe = '$TxtCodeSysiphe', RubriqueDetailSysiphe = '$TxtRubriqueDetailSysiphe' WHERE IdCompte = '$TxtIdCompte'")or die ('Erreur sql !<br />'.mysql_error());

Répondre à jeinny

6

jeinny, le 4 jun 2009 à 15:45:34

Personne d'autre n'a d'idée.
SVP.
merci.
Cordialment.

Répondre à jeinny

7

Jodu, le 5 jun 2009 à 11:09:46

Salut,

oups pour le retard.

Normalement si tu mets :

if (mysql_query($requete)) {
echo "Ca marche";
} else {
echo "Ca marche pas";
}


La tout devrait fonctionner normalement

Répondre à Jodu

8

 jeinny, le 8 jun 2009 à 08:24:20

Bonjour,

et bien non désolé, à mon grand désespoir ça ne change rien sa me met toujours que sa ne marche pas malgrés qu'il soit ajouter
pourtant le message de confirmation de la suppression marche mai pas celui de l'ajout !! :?

Répondre à jeinny
Collection CommentÇaMarche.net