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 :

Un doute sur une portion de code [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 295
    Par défaut Un doute sur une portion de code
    Bonjour/ bonsoir,

    J'ai le code suivant:
    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
    //        Si pas d'erreur
            if (empty($this->errors)) {
    //            insertion du compte dans la base
                global $PDO;
                $insert = $PDO->prepare('INSERT INTO cpte (nom, prenom, id, pass, section)
                    VALUES(:nom, :prenom, :id, :pass, :section)');
    //            Référencement des donnée à inclure dans la requête
                $insert->bindValue(':nom', $_SESSION['newCompte']['nom'], PDO::PARAM_STR);
                $insert->bindValue(':prenom', $_SESSION['newCompte']['prenom'], PDO::PARAM_STR);
               ...
    //
                try {
                    $result = $insert->execute();
                    return TRUE;
                } catch (PDOException $e) {
                    header('Location:'.$auth->erreurPage);
                }
            } else {
                return FALSE;
            }
    Est-ce que la dernière portion de code (à partir du try) vous paraît correct ? Ou dois-je encore apporter une vérification supplémentaire sur $result ?
    merci,

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    PDOStatemen::execute renvoie un booléen, ce serait dommage de ne pas s'en servir pour savoir si la requête à été effectuée avec succès. De plus, si tu regardes la doc de cette méthode, tu t'apercevra qu'elle ne lèves pas d'exception.

    Tu fais un return TRUE même si la requête à échoué ? c'est vraiment le comportement que tu souhaite ?

    Également, pour que PDO lèves des exceptions il faut lui donner un paramètre spécifique lors de la création de l'instance: http://www.php.net/manual/en/pdo.construct.php

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 295
    Par défaut
    merci!

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

Discussions similaires

  1. Votre avis sur une portion de code
    Par ninikkhuet dans le forum Langage
    Réponses: 7
    Dernier message: 29/10/2009, 13h33
  2. besoin d'aide sur une ligne de code
    Par deubelte dans le forum C++
    Réponses: 5
    Dernier message: 26/11/2006, 21h55
  3. [java.lang.class] Votre avis sur une portion de code
    Par be_tnt dans le forum Langage
    Réponses: 3
    Dernier message: 18/10/2006, 16h55
  4. gestion d'erreur resume next sur une portion de code
    Par aarlock dans le forum Access
    Réponses: 2
    Dernier message: 02/06/2006, 15h28
  5. PB sur une ligne de code
    Par romrai dans le forum Access
    Réponses: 2
    Dernier message: 22/02/2006, 11h27

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