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 :

Insertion dans la base de données [PostgreSQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Points : 626
    Points
    626
    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
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    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.

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

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Points : 626
    Points
    626
    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 confirmé
    Homme Profil pro
    Analyste développeur
    Inscrit en
    Juin 2010
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste développeur

    Informations forums :
    Inscription : Juin 2010
    Messages : 317
    Points : 626
    Points
    626
    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
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    est ce que tu récupères quelque chose avec pg_last_error() ?

+ 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