p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre chevronné
    Homme Profil pro
    Analyste développeur
    Inscrit en
    juin 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : juin 2010
    Messages : 316
    Points : 604
    Points
    604

    Par défaut Insertion dans la base de données

    Bonjour à tous,

    Je suis entrain de gérer l'inscription d'une personne sur mon site et je ne comprends pas pourquoi ça marche pas. Lorsque je fais l'insert avec mes variables php, rien ne s'ajoute dans la base de données, en revanche lorsque j'exécute la requête avec des valeurs en dur ça marche (le code en commentaire). Pourtant les champs ne sont pas vide, vu que le test sur $_GET ["login"] fonctionne...

    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
    if (isset ( $_GET ["login"] )) {
                // récupération de toutes les informations
                $login = $_GET ["login"];
                $nom = $_GET ["nom"];
                $prenom = $_GET ["prenom"];
                $email = $_GET ["mail"];
                $mdp = $_GET ["mdp"];
     
                // ajoute ou modifie (suivant si la personne existe ou non)
                if (isset ( $_SESSION ["id"] )) {
                    $id = $_SESSION ["id"];
                    $requete = 'update personne set login="' . $login . '", nom="' . $nom . '", prenom="' . $prenom . '", mail="' . $email . '", mdp="' . $mdp . '" where idpersonne=' . $id;
                    pg_query ( $requete );
                } else {
                    // Insertion dans la BD
                    $requete = 'insert into personne (login, nom, prenom, email, mdp) values ("'. $login .'", "'.$nom .'", "'.$prenom.'", "'.$email.'", "'.$mdp.'")';
                    //$requete = "insert into personne (login, nom, prenom, email, mdp) values ('tt', 'tt', 'tt', 'tt', 'tt')";
                    pg_query ( $requete );
     
                    $id = $requete . 'RETURNING id';
    }
    John.

  2. #2
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 711
    Points : 8 678
    Points
    8 678

    Par défaut

    Salut,

    et si tu essayais après avoir échappé tes données juste au cas où tu aurais des caractères exotiques qui font que cela ne passe pas -> pg_escape_string()

    Il t'est aussi possbile d'utiliser le délimiteur de chaine de postGres, très pratique pas besoin de s'embêter avec les quotes.
    Il faut juste que tu t'assures bien qu'aucune valeur ne contient le délimiteur défini. N'oublies pas que le délimiteur est sensible à la casse.
    # Dans la Création, tout est permis mais tout n'est pas utile...

  3. #3
    Membre chevronné
    Homme Profil pro
    Analyste développeur
    Inscrit en
    juin 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : juin 2010
    Messages : 316
    Points : 604
    Points
    604

    Par défaut

    Salut et merci pour ta réponse. Je ne vois pas pourquoi le pg_escape serait utile vu que pour l'instant je n'ai que des lettres à mettre dans les champs ?

  4. #4
    Membre chevronné
    Homme Profil pro
    Analyste développeur
    Inscrit en
    juin 2010
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : juin 2010
    Messages : 316
    Points : 604
    Points
    604

    Par défaut

    Je viens de trouver mon erreur. C'est qu'en fait je faisais mes tests quand j'étais connecté avec un login, donc forcement ça allait dans le test d'update des informations que je n'ai pas encore terminé.

    Merci quand même !

  5. #5
    Modérateur
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 711
    Points : 8 678
    Points
    8 678

    Par défaut

    est ce que tu récupères quelque chose avec pg_last_error() ?
    # Dans la Création, tout est permis mais tout n'est pas utile...

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

Discussions similaires

  1. Parcours d'un fichier et insertion dans une base de données !
    Par condor_01 dans le forum Général Java
    Réponses: 2
    Dernier message: 24/04/2008, 09h24
  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. Probleme d'insertion dans la base de données
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 11/06/2004, 16h21

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