Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Membre Expert
    Avatar de gentil2005
    Homme Profil pro
    Développeur Web
    Inscrit en
    mai 2007
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services à domicile

    Informations forums :
    Inscription : mai 2007
    Messages : 136
    Points : 1 124
    Points
    1 124

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

    Bonjour à tous,
    Je viens de débuter avec Postgres en utilisant PHP et déjà, voilà le problème!
    Je me connecte sans problème à ma base mais quand j'essaie d'inserer des données dans la seule table existence, on me dit qu'un colonne n'existe pas. voici donc mon code:

    Code :
    $sql=pg_query($conn,"INSERT INTO utilisateurs (pseudo, motdepasse) VALUES ($pseudo,$password) RETURNING id")or die ('Erreur connexion'. pg_last_error($conn));
    c'est donc un formulaire de login simple que j'utilise, et quand je saisi "Gentil" dans le champ login, et un mot de passe quelconque, j'ai ce message d'erreur quand je clique sur envoyer:

    Warning: pg_query() [function.pg-query]: Query failed: ERREUR: la colonne « gentil » n'existe pas LINE 1: ...RT INTO utilisateurs (pseudo, motdepasse) VALUES (gentil,gen... ^ in C:\wamp\www\zend_test_site\connexion.php on line 27
    Erreur connexionERREUR: la colonne « gentil » n'existe pas LINE 1: ...RT INTO utilisateurs (pseudo, motdepasse) VALUES (gentil,gen... ^
    pourtant dans la console quand je tape \d , j'ai bien la table complète avec les champs spécifiés ci-haut (en minuscule tous).

    Merci

    Remarque: je viens de remarquer que si dans la requête je remplace les variables php ($pseudo,$password) par des valeurs en dur ('papa','maman') la requête s’exécute et réinsertion est bien constaté, faut-il faire quoi pour ces variables?

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

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 618
    Points : 8 929
    Points
    8 929

    Par défaut

    Salut,

    Si tu viens de mysql, postgres fait de même avec les chaines de caractères : tu dois les échapper et les signaler entre '' ou utiliser de préférence un des mécanismes d'échappement spécifique à postgres comme ceci E' ou "dollar quote".
    # Dans la Création, tout est permis mais tout n'est pas utile...

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •