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
 
        }