Bonjour,

J'ai besoin d'aide. Le message d'erreur suivant s'affiche lorsque je clique sur mon bouton valider l'inscription : Fatal error: Call to a member function prepare() on a non-object in /home/XXX/public_html/bdd.php on line 81

La ligne 81 correspond a addPlayer

Si une âme généreuse se sent d'humeur à venir en aide à un débutant

Pour le code :

Page inscription

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
<?php
 require("bdd.php");
 
 $host ='localhost';
 $dbname = 'XX';
 $username = 'ZZ';
 $psw = '123';
 
 $bdd = new BaseDonnees($host, $dbname, $username, $psw);
 
 $bdd->start();
 
 if (isset($_POST['envoyer'])){
     $name = $_POST['name'];
     $passwrd = $_POST['passwrd'];
     $money = 500;
     if ($_POST['name'] != ""){
         if ($_POST['passwrd'] != ""){
             $bdd->addPlayer($name, $passwrd, $money);
             echo "Votre compte a bien été enregistré.";
             $req->closeCursor();
         }
     }
 }
Page bdd
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
38
39
40
41
<?php
 
 class BaseDonnees {
     private $bdd;
     private $host;//='localhost';
     private $dbname;// = 'XX';
     private $username;// = 'ZZ';
     private $psw;// = '123';
 
     public function __construct($host, $dbname, $username, $psw){
         $this->host=$host;
         $this->dbname=$dbname;
         $this->username=$username;
         $this->psw=$psw;
     }
 // GETTERS
 // SETTERS
 
     public function start() {
         try {
             $bdd = new PDO('mysql:host=localhost;dbname=XX;charset=utf8', 'XX', '123', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
         } catch (PDOException $e) {
             echo 'Connexion échouée : ' . $e->getMessage();
         }
     }
 
     public function connexion($name, $passwrd){
         $requete = 'SELECT * FROM Player WHERE name = :t_name AND passwrd = :t_passwrd;';
         $req = $this->bdd->prepare($requete);
         $req->execute(array(':t_name' => $name, ':t_passwrd' => $passwrd));
         $result = $req->fetch();
 
     }
 
     public function addPlayer($name, $passwrd, $money){
         $bdd = "";
         $requete = 'INSERT INTO Player (id, name, passwrd, money) VALUES ("", ?, ?, ?)';
         $req = $this->bdd->prepare($requete);
         $req->execute(array($name, $passwrd, $money));
     }
}