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 :

Appel à une classe PDO personnalisée


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Appel à une classe PDO personnalisée
    Bonjour,

    J'ai développé une classe personnalisée pour la gestion de mon SGBD héritée à partir de PDO. Le problème c'est que lors de l'appel de la méthode d'insertion un message de ce type me sort:

    Appel de la méthode 'My_Insert' `etudiant`, `nom_et` , `prenom_et` , `login_et` , `email_et` , `adresse_et` , `tel_et` , 'toto' , 'toto' , 'toto' , 'toto' , 'toto' , '666'
    Et rien ne se passe dans la base de donnée.

    Le code de ma méthode est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    private function My_Insert($table , $columns , $values) //pour inserer une nouvelle ligne dans la table $table
        {
            echo '<br/>'.'début insertion'.'<br/>';
     
           $req ='insert into '.(string)$table.' ('.(string)$columns.') VALUES ('.(string)$values.')';
     
           $tmp = $this->prepare($req);
     
           $res = $tmp->execute();
     
            echo '<br/>'.'fin insertion'.'<br/>';
     
           return($res);
        }
    Et le bout de code appelant cette méthode est :
    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
    27
    28
    29
     
    public function inscrire() {
            if($_POST['pswd2'] == $_POST['pswd_et']) {
                $db_use = new MyPDO('mysql:host=localhost;dbname = utilisateurs','root',''); //connexion à la base des produits
     
                $values = '\''; //initialisation des valeurs
     
                $columns = '`'; //initialisation des colonnes
     
                foreach($_POST as $ind => $par) {
     
                    if(($par != null) && ($ind != 'pswd2') && ($ind != 'Inscription')) {
     
                        $columns = $columns.$ind.'` , `'; //regroupement des noms des colonnes dans une chaîne de caractère
     
                        $values = $values.$par.'\' , \'';  //regroupement des noms des valeurs dans une chaîne de caractère
     
                    }
                }
     
                $columns = substr($columns,0,strlen($columns)-3); //pour enelever la dernière virgule
     
                $values = substr($values,0,strlen($values)-3);
     
                $res = $db_use->My_Insert('`etudiant`',$columns,$values); //insertion
     
                $db_use = null; //fermeture de la base
     
            }

  2. #2
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    Citation Envoyé par analgesic_86 Voir le message
    lors de l'appel de la méthode d'insertion un message de ce type me sort:
    d'où vient ce message ?
    GNAP !

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    C'est ce qui est affiché dans le navigateur lors de l'exécution.

  4. #4
    Membre chevronné Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Points : 1 895
    Points
    1 895
    Par défaut
    Citation Envoyé par analgesic_86 Voir le message
    C'est ce qui est affiché dans le navigateur lors de l'exécution.
    je demandais ça parce que les classes de PDO n'affichent pas ce genre de message donc cet affichage vient de ton code
    GNAP !

  5. #5
    Futur Membre du Club
    Inscrit en
    Mars 2010
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    J'ai bien cherché dans tout le code mais il n'a pas la moindre trace d'une ligne ou méthode (etc..) qui affiche ce message. D'ailleurs au début j'ai eu la même intuition que vous mais cette piste ne m'a mené nulle part.

Discussions similaires

  1. Appeler une classe dans un autre package
    Par Nasky dans le forum Langage
    Réponses: 6
    Dernier message: 21/02/2007, 16h06
  2. [Débutant][Appli]Appeller une classe.
    Par Rom780 dans le forum Langage
    Réponses: 10
    Dernier message: 18/02/2006, 11h48
  3. [Package] Appel à une classe
    Par GLDavid dans le forum Langage
    Réponses: 2
    Dernier message: 15/02/2006, 12h49
  4. Appeler une classe CSS avec Javascript
    Par p0Kep0K dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 13/02/2006, 14h50
  5. Réponses: 14
    Dernier message: 15/12/2005, 18h46

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