IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] problème d'insertion dans ma base ou problème de requête sql


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 7
    Par défaut [SQL] problème d'insertion dans ma base ou problème de requête sql
    voila le résultat que mon navigateur me donne :

    Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\ahmed\insertion-selection.php on line 15
    par contre moi je ne vois pas d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <html><body>
    <?
    $host = "localhost";
    $user = "root";
    $pass = "";
    $bdd = "mutuelles_stages";
    $table="mutuelles_a_remplir";
    $link =mysql_connect($host,$user,$pass)
    or die ("erreur de connexion au SGBD");
    mysql_select_db($bdd,$link) 
    or die("Impossible de se connecter à la base de données");
    /*------------------------affectation de la reqete----------------------------- */
    $query = 
    "UPDATE $table SET
    departement_de_naissance ='$_POST["departement_de_naissance"]', 
    commune_de_naissance='$_POST["commune_de_naissance"]',
    code_du_pays_de_naissance='$_POST["commune_de_naissance"]', 
    date_de_cotisation='$_POST["date_de_cotisation"]',
    immatriculation='$_POST["immatriculation"]' 
    where $table.id='$_POST["$id"]' ";
     
     
    //test d'affichage pour voir jusqu'où compile t'on
    echo $query;
    //$result = MYSQL_QUERY($query);
    //PRINT "Enregistrement effectué dans la base de données" ;
     
    /* déconnection avec MySQL */
    //deconnection
    //MYSQL_CLOSE();
    ?>
    </body>
    </html>

    aidez moi svp

  2. #2
    Membre éprouvé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $query = 
    "UPDATE ". $table ." SET
    departement_de_naissance =\"".$_POST["departement_de_naissance"]."\", 
    commune_de_naissance=\"".$_POST["commune_de_naissance"]."\",...
    voila t'as compris le coup ... ??

  3. #3
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Je pense que le problème vient de ta gestion de $_POST[]

    Tu ne peux pas passer un tableau associatif directement dans la requete SQL il faut que tu fasses quelquechose dans ce style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = "SELECT * FROM matable WHERE monchamp = '" . $_POST['monchamp'] . "', monchamp2='" . $_POST['monchamp2'] ."'";
    il faut "sortir" le $_POST des " ", sinon il n'est pas interprété correctement

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par koopajah
    Tu ne peux pas passer un tableau associatif directement dans la requete SQL
    Si mais sachez que l'interpolation d'objets complexes (comme $_POST['foo']) requiert d'être encadrés par des accolades :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT * FROM matable WHERE monchamp = '{$_POST['monchamp']}', monchamp2='{$_POST['monchamp2']}'";



    Cela dit n'oubliez surtout pas d'utiliser la fonction mysql_real_escape_string avant d'utiliser des données externes ($_POST ici) pour une requête !

  5. #5
    Membre confirmé Avatar de yohan0262
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 159
    Par défaut
    Citation Envoyé par julp
    Si mais sachez que l'interpolation d'objets complexes (comme $_POST['foo']) requiert d'être encadrés par des accolades :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT * FROM matable WHERE monchamp = '{$_POST['monchamp']}', monchamp2='{$_POST['monchamp2']}'";



    Cela dit n'oubliez surtout pas d'utiliser la fonction mysql_real_escape_string avant d'utiliser des données externes ($_POST ici) pour une requête !
    Bonne remarque julp, j'ai eu le même problème il y a une semaine et ca marche maintenant

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème d'insertion dans une base SQL Server 2000 Via un trigger
    Par Alexandre_g dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/04/2009, 15h30
  2. [paradox7] Problème d'insertion dans la base de données
    Par mouna201 dans le forum Bases de données
    Réponses: 4
    Dernier message: 01/02/2006, 09h47
  3. problème d'insertion dans une base de données
    Par belmansour tidjani dans le forum JDBC
    Réponses: 7
    Dernier message: 18/01/2006, 22h13
  4. [Hibernate] problème d'insertion dans la base de données
    Par Willy7901 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 18/08/2005, 13h19
  5. Problème d'insertion dans la base.
    Par roots_man dans le forum ASP
    Réponses: 2
    Dernier message: 14/09/2004, 12h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo