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 :

Update in PHP/PostGreSQL [PostgreSQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2018
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 184
    Par défaut Update in PHP/PostGreSQL
    Bonjour,

    A l'intérieur d'une fonction en PHP, j'ai une requête écrite en PostgreSQL comme celle-là :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    UPDATE
                administration.client
            SET
                nom_client = 'Mon client',
                adresse = '3 rue de l Eglise',
                contact_tel = '033551112',
                contact_mail = 'info@monclient.fr',
                vignette = 'vignette.png',
                applications = ARRAY[1,7],
                maj_client = now()
            WHERE
                id_client = 5

    Seulement cette requête passe côté base de données mais pas en PHP. L'update fait que applications passe à null.

    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
        function updateOne() {
            $sql = "
            UPDATE
                administration.client
            SET
                nom_client = :nom_client,
                adresse = :adresse,
                contact_tel = :contact_tel,
                contact_mail = :contact_mail,
                vignette = :vignette,
                applications = ARRAY[:applications]::smallint[],
                maj_client = now()
            WHERE
                id_client = :id_client
            ";
     
            var_dump($sql);
     
            $query = $this->conn->prepare($sql);
            $query->bindParam(':id_client', $this->id_client, PDO::PARAM_INT);
            $query->bindParam(':nom_client', $this->nom_client, PDO::PARAM_STR);
            $query->bindParam(':adresse', $this->adresse, PDO::PARAM_STR);
            $query->bindParam(':contact_tel', $this->contact_tel, PDO::PARAM_STR);
            $query->bindParam(':contact_mail', $this->contact_mail, PDO::PARAM_STR);
            $query->bindParam(':vignette', $this->vignette, PDO::PARAM_STR);
            $query->bindParam(':applications', $this->application);
    Pourquoi ?

    Cela provient vraisemblablement du paramètrage de "applications". Lors des quelques tentatives, j'ai mis [1,7] au paramètre applications.

    Merci pour vos retours

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 310
    Par défaut
    Bonjour,
    Un petit code d'erreur qui traine quelque part ?

    Sinon peut être un petit problème la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query->bindParam(':applications', $this->application);
    Dans ta requête il y a un s a applications , autant faire $this->applications ?
    Je sais pas si une convention s'applique pour ca mais moi perso je fais au plus logique
    Cdt

  3. #3
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2018
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 184
    Par défaut
    J'ai corrigé mais cela ne fonctionne toujours pas.....

  4. #4
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2018
    Messages
    184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 184
    Par défaut
    Citation Envoyé par sylvain257 Voir le message
    J'ai corrigé mais cela ne fonctionne toujours pas.....
    Pour finir, j'ai trouvé comment faire. Il fallait utiliser une autre syntaxe pour les tableaux à avoir "{}" et non pas "ARRAY[]"

    Merci pour vos contributions

    Sylvain

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

Discussions similaires

  1. PHP & Postgresql
    Par garou51 dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 19/03/2005, 12h40
  2. Transfert d'une base PHP postgreSQL
    Par colore dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 05/04/2004, 16h35
  3. [PHP & PostGreSQL] Connexion persistante & Res Id
    Par BuLma dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 25/08/2003, 11h35
  4. [PHP & Postgresql] urgent please
    Par garou51 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 26/06/2003, 16h30
  5. [php][postgresql] tutoriaux
    Par clark59 dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 28/05/2003, 11h38

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