probleme avec les classes
Posté : 26 avr. 2006, 18:37
j est fait se petit script pour tester une fonction :
je ne voi pas se que j est fai de traver si vous pouviez m aider sa serai vraimen cool...
01<?php
02 include "BDD.php5";
03
04
05 class test
06 {
07 private $bdd;
08
09 function construct()
10 {
11 $this->bdd = new BDD();
12 }
13 function TrouverInfo()
14 {
15 $trame = "SELECT * FROM materiel";
16 $rep = $this->bdd->Rechercher($trame);
17 return $rep;
18 }
19
20 }
21
22 $test = new test();
23
24 $rep = $test->TrouverInfo();
25 echo("il y a $rep[0] reponse");
26?>
et la classe BDD.php5 est la suivante :<?php
class BDD
{
private $option;
private $test;
private $result;
private $select;
private $cte = 0;
//***********Constructeur***********//
function __construct()
{
mysql_connect("localhost","root","toto");
mysql_select_db("log");
}
//***********Envoi de n'importe quel requette a la base (SELECT, SHOW, DESCRIBE, ...)**********//
function Query($option)
{
$this->option = $option;
$this->test = mysql_query($this->option);
return $this->test;
}
//**********Recupere le nombre de ligne d'un jeu de résultat*********//
function NumRows($option)
{
$this->option = $option;
$this->test = mysql_num_rows($this->option);
return $this->test;
}
//**********Retourne les info d un champ*********//
function FetchRow($option)
{
$this->option = $option;
$this->test = mysql_fetch_row($this->option);
return $this->test;
}
//**********Recherche ds la bdd renvoi en $att[0] le nombre de rep et en $att[n] n != 0 toute les reponses**********//
function Rechercher($id)
{
$this->option = $id;
$retour = $this->Query($this->option);
if($retour == FALSE)
return FALSE;
else
{
$nb = $this->NumRows($retour);
if($nb == FALSE)
return FALSE;
else
{
$att[0] = $nb;
for($i = 1 ; $i <= $nb; $i++)
{
$att[$i] = $this->FetchRow($retour);
}
return $att;
}
}
}
}
?>
le probleme c est que sa me renvoi l erreur suivante :Code : Tout sélectionner
Fatal error: Call to a member function Rechercher() on a non-object in c:\program files\easyphp1-8\www\index.php5 on line 16