Php+requete sql

Résolu
info_Louka Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   -  
info_Louka Messages postés 64 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
slt
j'ai un problème dans une page d'insertion en php.. je comprend pa le message d'erreur..

Parse error: parse error in C:\wamp\www\annuaire\insertion_etab.php on line 57
la ligne 57 contient la requete d'insertion
$req= "INSERT INTO gestion_cathegorie (nom,site,e_mail,tel,description,listecat_id,id_region,prem_resp) VALUES ('$nom','$site','$mail',$tel1,'$desc',$id_listecat,$ville,'$resp'");

je pense qu'elle est correcte mais il y a une erreur dans les variables parce ke kon je fai
par exemple echo $nom; ca n'affiche rien

or j'ai mi dans l'action du formulaire dont s'y trouve les champs le nom de la page qui contient la requete!!
est ce ke quelqu'un peut m'aider SVP :(

7 réponses

  1. JohnGtrs Messages postés 138 Statut Membre 3
     
    Salut info_Louka,

    problème de concaténation, tu as oublié les . et des ' sur :

    ('$nom','$site','$mail',$tel1,'$desc',$id_listecat,$ville,'$resp'");

    Il faut que tu fasses la distinction entre php et sql donc :

    ('".$nom."','".$site."','".$mail."','".$tel1."','".$desc."','".$id_listecat."','".$resp."')"

    Si tu as du Integer, enlèves les ' et laisse que les "sur la variable concernée.
    0
  2. info_Louka Messages postés 64 Date d'inscription   Statut Membre Dernière intervention  
     
    le problème c'est ke même avant la ligne de la requete quand je met
    echo $nom;
    ou bien echo pour une autre variable ca ne marche pas ca n'affiche rien
    0
  3. info_Louka Messages postés 64 Date d'inscription   Statut Membre Dernière intervention  
     
    ca a marché l'affichage càd ke g le contenu des variables sauf que la requete ne marche tjrs pas :'(
    en faite j'ai essayé d'exécuter la requete

    insert into gestion_cathegorie (nom,site,e_mail,tel,description,listecat_id,id_region,prem_resp) values ('journal','aaa@hhh.com',256544,'dsdszdfz',1,1,'dfdfd');

    directement dans Mysql et ca me donne le problème suivant

    #1136 - Column count doesn't match value count at row 1
    0
  4. xamurai Messages postés 223 Date d'inscription   Statut Membre Dernière intervention   15
     
    à la fin de ta ligne, ce n'est pas:
    $resp'"); 


    mais plutôt

    $resp');" 


    remarque le
    "
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. JohnGtrs Messages postés 138 Statut Membre 3
     
    Non xamurai, il ne faut pas mettre ton point virgule dans ta guillemet.

    info_Louka, ta requête ne peut pas marcher, tu n'as pas le même nombre de champs, et dans un insert tu as besoin d'avoir le même nombre.

    (nom,site,e_mail,tel,description,listecat_id,id_region,prem_resp) : 8 champs

    ('journal','aaa@hhh.com',256544,'dsdszdfz',1,1,'dfdfd') : 7 champs

    Et je ne pense pas que dans MySQL tu as besoin du point virgule à la fin.

    Dis moi des nouvelles ++.

    ps : $resp')"; a la fin, pas le ; dans la guillemet.
    0
    1. xamurai Messages postés 223 Date d'inscription   Statut Membre Dernière intervention   15
       
      oui c'est le nombre de champs effectivements.

      ---
      pas besoins de point virgule mais c'est du code propre. et vaut mieux apprendre à generer du code propre que d'apprendre les exception.
      c'est tout comme le "var" en javascript.
      On en a pas toujours besoin, mais c'est mieux avec.
      0
    2. JohnGtrs Messages postés 138 Statut Membre 3
       
      Je n'ai pas dis de pas mettre le point virgule, mais de le mettre après la guillemet ^^, car tu avais ecris : $resp');" au lieu de $resp')";
      0
    3. xamurai Messages postés 223 Date d'inscription   Statut Membre Dernière intervention   15
       
      OUI c'est vrai
      mais ca c'est qu'un bout de code.
      0
  7. Doctor C Messages postés 630 Date d'inscription   Statut Membre Dernière intervention   400
     
    Fait plutôt un echo sur ta variable $req pour voir à quoi elle ressemble. Ce sera plus facile de déceler l'erreur. (Tu peux copier/coller le résultat dans MySQL et l'exécuter de là).

    Mais en effet, l'erreur semble être où tu as placé tes guillemettes.

    Ceci devrait fonctionner:
    $req= "INSERT INTO gestion_cathegorie (nom,site,e_mail,tel,description,listecat_id,id_region,prem_resp) VALUES ('$nom','$site','$mail',$tel1,'$desc',$id_listecat,$ville,'$resp')"; 
    0
    1. JohnGtrs Messages postés 138 Statut Membre 3
       
      Les concaténations sont fausses. Ca ne risque pas de marcher ^^
      0
  8. info_Louka Messages postés 64 Date d'inscription   Statut Membre Dernière intervention  
     
    ca a marché je vous remercie, c'était un problème de version j'ai reglé ca :)
    merci infiniment
    0