Php insertion des données dans une bdd sql

Sleem_ Messages postés 76 Statut Membre -  
 aurus1212 -
bonjour;
j'ai un code php employé pour soumettre un formulaire et insérer ses données dans une base de données sql.

j'ai fait recourt à cette requête pour faire insérer mes données mais en vains.

$sql = "INSERT INTO client VALUES($ind,$_GET['nom'],$_GET['prenom'],$_GET['adr'],$_GET[cp],$_GET['vil'],$_GET['reg'],$_GET[tel],$_GET[fax],$_GET['mail'],$_GET['mp'],$_GET['login'])";  


ça n'a pas marché!

pouvez vous m'aidez à fin de rectifier le probleme.
cordialement.

5 réponses

  1. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    Dans une requête sql, il faut mettre des ' autour des chaînes de caractères (juste pour les chaînes, pas besoin pour les nombres par exemple)
    0
  2. Sleem_ Messages postés 76 Statut Membre
     
    ça n'a pas marché!

    $sql = "INSERT INTO client VALUES($ind,'$_GET['nom']','$_GET['prenom']','$_GET['adr']',$_GET['cp'],'$_GET['vil']','$_GET['reg']',$_GET['tel'],$_GET['fax'],'$_GET['mail']',$_GET['mp'],'$_GET['login']')"; 


    et le message d'erreur est:

    Parse error: parse error, expecting 'T_STRING' or 'T_VARIABLE' or 'T_NUM_STRING' in C:\wamp\www\rdl\inscription.php on line 42
    0
  3. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
     
    Ca vient peut être des ' de tes get qui "brouillent" les ' de la requête (me paraît bizarre, m'enfin!)
    En en remplaçant par quelquechose comme ça, ca ne marche tjs pas ? (j'ai rien pour vérifier que la syntaxe est bonne, il se peut qu'il y ait des . ou des " mals placés ^^)

    $sql = "INSERT INTO client VALUES($ind,'".$_GET['nom']."','".$_GET['prenom']."','".$_GET['adr']."',$_GET['cp'],'".$_GET['vil']."','".$_GET['reg']."',$_GET['tel'],$_GET['fax'],'".$_GET['mail']."',$_GET['mp'],'".$_GET['login']."')"; 


    edit : maintenant que j'y repense, il me semble que quand on met directement un tableau (en l'occurence get) dans une chaîne de caractère, sans passer par la concaténation, ca pose problème
    0
  4. justoo76 Messages postés 203 Statut Membre 13
     
    Bonjour,

    Essaye avec cette forme :

    "INSERT INTO client(nom, prenom,...) VALUES('$_GET['nom']', '$_GET['prenom']',...)";
    0
    1. jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
       
      Il a peut être cette erreur-ci aussi, mais l'erreur qui a montré, c'est une erreur php, pas une erreur sql, donc ca ne la règlera pas ^^
      0
    2. justoo76 Messages postés 203 Statut Membre 13
       
      Ah oué autant pour moi, donc la seule "erreur" que je verrai et je te rejoind , c'est l'utilistation des get directelent dans la requete; peut etre faut-il passer par des variables simples..
      0
    3. Sleem_ Messages postés 76 Statut Membre
       
      oui j'ai essayé avec des variables simples et ça marche parfaitement!
      merci.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. aurus1212
     
    Euh... je peux me tromper mais tes informations que tu ajoute dans la base de donnée il vienne d'un formulaire?

    Si oui

    serai-t-il pas plus approprier de prendre les $_POST à la place de $_GET ?
    0
    1. justoo76 Messages postés 203 Statut Membre 13
       
      Bah tout dépend quelle méthode il utilise dans son formulaire ! Mais à mon avis , que se soit $_POST ou $_GET, sa ne marchera pas directement dans une requete SQL..
      0
    2. aurus1212
       
      pas faux...
      0