Bonjour tt le monde
J'ai un probleme de connection Voila mon code:
<?php
class etudiant{
// Tes attributs
private $numero;
private $nom;
private $note;
// Ce qui me semblent-être des setters
public function makes($numero,$nom,$note){
$this->numero = $numero;
$this->nom = $nom;
$this->note= $note;
}
// Ta fonction qui renvoie les informations necessaires de la connection PDO.
public function getcone(){
$bdd= new PDO('mysql:host=localhost;dbname=ecole','root','');
return $bdd;
}
// Ta fonction inserted, duquel tu recupères les informations de ta connection PDO à partir duquel tu effectues ta requêtes.
public function inserted(){
$bdd = $this->getcone();
$req= $bdd->prepare("INSERT INTO etudiant(numero,nom,note) VALUES(:numero, :nom, :note)");
$req->bindValue(":numero", $this->numero, PDO::PARAM_INT);
$req->bindValue(":nom", $this->nom, PDO::PARAM_STR);
$req->bindValue(":note", $this->note, PDO::PARAM_INT);
$req->execute();
}
}
je voudrais savoir comment faire pour connecter une class par exemple class etudiant qui a 3 attrubut a une base de donner
quand je execute mon programme ca n'as pas marcher je comprend pas pourquoi?
Le constructeur n'est pas obligatoire en php, même si dans ton cas, il serait approprié.
Tu pourrais très bien faire ceci
$etudiant = new etudiant();
$etudiant->make('numero', 'nom', 'note');
$etudiant->inserted();
Par contre, tu n'as aucun retour de tes méthodes ce qui va t'empêcher de connaitre le comportement de celles-ci,
et getcone() devrait être en privé car l'utilisateur n'a pas a appeller cette méthode qui est propre à ta classe.
Pas complètement sur mais je pense que dans le bindValue, le nom de la variable devrait être sans le double point; donc aulieu de ":numero", il faudrait écrir "numero"
Tu as une erreur quelconque qui pourrait nous aider ?
Est tu sur que tes champs dans ta table porte bien le nom "numero", "nom" et "note" ?
Quand tu insert un numéro, tu ne dois pas mettre d'espace dans le numéro ni de tiret ni quoi que ce soit qui ne soit pas un chiffre, car tu force l'entré en INT.
Merci les amis
nn je pense que le probleme dans l'instanciation de l'objet je sais pas comment il fonctionne en php comment je vais appeler les fonction c'est ca le probleme?
Ah bah oui, j'ai complétement zappé mais tu as raison. Tu as appelé ton constructeur "make" mais en php c'est "__construct"