Bonjour

Je revient à la charge, toujours dans l'apprentissage du POO. décidémment..
Je reçoit cette erreur en essayant de regrouper 2 fonctions touchant mysql dans une classe.

J'ai donc index.php, avec
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<?php include("functions.php"); ?>

functions.php dont les premières lignes sont:
Code php : 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
 
class bdd {
	private $host="xxx";
	private $user="xxx";
	private $base="xxx";
	private $pwd="xxx";
 
	public function connect() {
		if(!empty($this->host) && !empty($this->user) && !empty($this->base) && !empty($this->pwd)) {
			$db=@mysql_connect($this->host, $this->user, $this->pwd) or die("<span class='error'>Erreur de connexion à la base</span>");
			@mysql_select_db($this->base,$db) or die("<span class='error'>Erreur de sélection de base</span>");
			mysql_set_charset('utf8');
		}	
	}
 
	public function execute($req) {
		$sql = @mysql_query($req) or die("<span class='error'>Erreur d'éxécution !</span><br>[".$req."]<br><u>Réponse:</u>".mysql_error()); 
		return $sql;	
	}	
}
 
$bdd = new bdd();
$bdd->connect();

Et j'obtiens l'erreur
Fatal error: Call to a member function execute() on a non-object in /public_html/configs/functions.php on line 172
Voici la fonction en cause dans functions.php ligne 172:
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
function isHeAdmin($pse) {
	$checkRankSql = "SELECT * FROM comptes WHERE login_user='".$pse."'";
	$checkRank = $bdd->execute($checkRankSql);
	$cr=mysql_fetch_assoc($checkRank);
	if($cr['rank_user']==1) {
		return true;
	}
	else { return false; }
}

Pourtant, l'objet est bien déclarée au début de ce même fichier, à la suite de la classe, et la fonction membre execute() est bien public.. Désolé de vous embeter encore :/

Et si au passage, vous trouvez quelque chose à redire sur tout ça n'hésitez pas mon but est d'apprendre.

Merci