Bonjour tout le monde,
j'ai un problème de débutant, et vous pourrez sûrement m'aider.
C'est un test. J'ai une méthode
PuisCode:
1
2
3
4
5
6
7
8
9
10 public function add(Personnages $perso) { $q = $this->_db->prepare("INSERT INTO personnages (nom, degats, force) VALUES(:nom, :degats, :force)"); $q->execute(array( 'nom'=>$perso->nom(), 'degats'=>$perso->degats(), 'force'=>$perso->force() ));
Ma table se compose de 4 champs "id" "nom" "degats" et "force".Code:
1
2
3
4
5
6
7
8
9 $manager=new PersonnagesManager($db); $perso=new Personnages(array( 'nom'=>'Le perso', 'force'=>80 )); echo 'Le personnage '.$perso->nom().' a '.$perso->force().' en force'; $manager->add($perso);
L'objet est bien hydraté, la fonction echo renvoie bien la valeur des attributs, aucun souci, mais la fonction add() ne fonctionne pas correctement.
Le seul moyen de la faire fonctionner, c'est sous cette forme:
Dans ce cas, ça marche, mais étant donné que c'est un test que je fais pour apprendre/progresser, j'aimerais surtout comprendre pourquoi l'autre forme (en haut de page) ne fonctionne pas, pourtant elle me paraît juste.Code:$q = $this->_db->prepare("INSERT INTO personnages VALUES('', :nom, :degats, :force)");