Bonsoir :p, Donc pour commencer j'ai une classe TableBD qui permet d'ajouter, modifier,supprimer et lister les enregistrements d'une table . Et avec cette classe
j'en crée une autre plus spécialisée en surchargeant certaines méthodes .
Et j'ai un problème avec la méthode insert
voilà la classe insert de ma classe TableBD
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
30
31
32
33
34
35
36
37 public function insertion() { //initialisation $noms = $valeurs = $virgule = $interrogation = ""; $i=1; foreach($this->schema as $tableau) { $noms .= $virgule . $tableau["Field"]; $interrogation .= $virgule . " ?"; $virgule = ", "; //on verifie que ce n'est pas un tableau if(is_array($this->donnees[$tableau["Field"]])) { //initialisation de la variable resultat $resultat=$slash=""; //c'est un tableau on concatène les resultats foreach($this->donnees[$tableau["Field"]] as $nom => $valeur) { $resultat .= $slash . $valeur; $slash= "/"; } $valeurs[$i++]=$resultat; } else { $valeurs [$i++]= $this->donnees[$tableau["Field"]]; } } $requete = $this->bd->prepare("INSERT INTO ". " $this->nom_table ($noms) VALUES ($interrogation)"); for($e=1; $e<count($valeurs)+1; $e++) $requete->bindParam($e , $valeurs[$e]); if($requete->execute()) return TRUE; else return FALSE; }
elle retourne true quand tout se passe bien et false quand ça merde :p
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if($table_enregist->insertion()) { $this->vue->contenu="<center><br />Votre inscription a été prise en compte.</center>"; } else { $this->vue->contenu="<center><br />Votre inscription n'a pas été prise en compte .</center>"; }
quand je laisse la classe ainsi ça marche . Mais quand je la surcharge , j'ai le message "Votre inscription n'a pas été prise en compte ."
je voulais demander ce morceau de code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 //fonction insertion public function insertion() { //on ajoute le mot de passe créé dynamiquement pour chaque //membre venant de s'inscrire $this->donnees["mdp"]=$this->genererMDP(); //et l'on rappelle la méthode parente parent::insertion(); }
je n'ai pas besoin de le mettre ?? Si j'utilise PDO il gère les exceptions, donc j'ai juste à mettre un message
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if($table_enregist->insertion()) { $this->vue->contenu="<center><br />Votre inscription a été prise en compte.</center>"; } else { $this->vue->contenu="<center><br />Votre inscription n'a pas été prise en compte .</center>"; }
et si elle ne s'est pas le cas , il captura une exception non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part $this->vue->contenu="<center><br />Votre inscription a été prise en compte.</center>";
Partager