Probleme avec fonction

Eléphanteau du PHP | 18 Messages

12 mars 2009, 11:12

J'ai un souci avec une fonction.
TOut est expliqué dans les commentaires.
//ICI ca Retourne le string Moderator
       echo $group->getCn();
       //quand je mets ici "Moderator" au lieu de $group->getCn(), je recois un resultat valide, autrement non
       $temp=MySqlDb::findModuleByGroup($group->getCn());
Je ne comprends pas pourquoi la fonction ne retourne pas la meme chose, alors que $group->getCn()="Moderator".[/php]

Eléphant du PHP | 353 Messages

12 mars 2009, 11:20

Bonjour.

Peux tu afficher la classe de l'objet $group et la classe MySqlDb ?

Voir mettre le code de la page... car juste 2 lignes de code.. cela n'est pas pratique pour t'aider.
Merci.

ViPHP
ViPHP | 3607 Messages

12 mars 2009, 11:21

Et pour finir, essaye un var_dump($group->getCn()) pour voir...

Eléphanteau du PHP | 18 Messages

12 mars 2009, 11:24

Voici la fonction group :
class Group {
   private $cn;
   private $moduleAccess=array();

   function setCn($cn){
		$this->cn=$cn;
	}//function setCn

	function getCn(){
		return $this->cn;
	}//function getCn

    function setModuleAccess($moduleAccess){
		$this->moduleAccess=$moduleAccess;
	}//function setModuleAccess

	function getModuleAccess(){
		return $this->moduleAccess;
	}//function getModuleAccess

et les fonctions de MySqlDB
 static function findModuleByGroup($groupe){
        $query="SELECT module FROM modules where id in (SELECT module_id FROM group_module WHERE groupcn='$groupe');";
        $res=MySqlDb::queryMysql($query)->fetchALL(PDO::FETCH_ASSOC);
        $result=array();
        $i=0;
        foreach($res as $row){

            $result[$i]=$row['module'];
            $i++;
        }
        return $result;
    }//function findModuleByGroup


static function queryMysql($query) {
        $dbh=MySqlDb::mysql_db_connect();
        $result=$dbh->query($query);
        if(!$result)
        {
            die('Invalid Query : '.mysql_error());
        }//if(!$result)
        return $result;
    }//function executeMySqlQuery

Eléphant du PHP | 353 Messages

12 mars 2009, 11:39

Bon...
Va vraiment falloir faire le tuto sur "comment déboguer facilement".

Alors.
- place un var_dump($query) après la construction de ta requête.
- copie colle cette requête dans mysql voir ce qu'elle retourne.

On va déjà commencer par cela :wink: