IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Probleme de variable dans mes fonctions [PHP 5.2]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 88
    Par défaut Probleme de variable dans mes fonctions
    Bonjour,

    Je voudrais connaitre la provenance de mon erreur, car j'ai une erreur au niveau du: "while($donneesPageAccept=mysql_fetch_array($repPageAccept))" dans ma deuxième fonction. Sachant que ma requête fonctionne très bien lorsque je mets le contenu de ma première fonction dans la deuxième.
    Voici l'erreur retourné par le code ci-dessous: "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /homepages/0/d12346789/htdocs/application.class.php on line 54.

    Donc mon erreur provient de mes variables qui ne serrait pas global?



    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    <?php
     
    // Permet de fonctionner avec les option de php5 de 1and1
    // $DOCUMENT_ROOT devient $_SERVER["DOCUMENT_ROOT"]
    $DOCUMENT_ROOT=$_SERVER["DOCUMENT_ROOT"]; 
     
     
     
    class application 
    {
     
    /*	=================================================================================================
    								ATTRIBUTS
    	=================================================================================================	*/
     
    	var $pageAcceptArray;
    	var $repPageAccept;
     
     
    /*	=================================================================================================
    							       METHODES PRINCIPALES
    								   
    		Ici sont regroupée les fonction principales du programme, qui récupère les valeurs du header, du 
    		contenu, du pied de page, et enfin, la fonction buildPage() exécute ces fonctions d'un coup
    		On a aussi le construteur de la classe ici, qui nous donne l'emplacement du template
    	=================================================================================================	*/	
     
    	//FONCTION QUI RECUPERE DANS LA BDD, LES DONNEES DU SITE 
    	function getBddSearch() 
    	{
    		// Identifiant de connection
    		$host = 'xxx'; // votre host
    		$user = 'xxx'; // votre login
    		$pass = 'xxx'; // votre mot de passe
    		$db = 'xxx'; // le nom de la base de donnee
     
    		$link=mysql_connect($host,$user,$pass) or die('Impossible de se connecter');
    		// Sélection de la base de données
    		mysql_select_db($db,$link) or die('Erreur de selection de la base de données');
     
    		// GENERE LE TABLEAU DES PAGES AUTORISEES
    		$pageAcceptArray = array(); 
    		// Sélection de la Table et des champs
    		$sqlPageAccept = "SELECT namePage,linkPage FROM GestionLearnAndShare ORDER BY idPage";
    		$repPageAccept = mysql_query($sqlPageAccept,$link);
     
    		// Déconnexion de MySQL
    		mysql_close($link);  
    	}	
     
    	//FONCTION QUI VERIFY LE TABLEAU DES PAGES AUTORISEES 
    	function verifyPagesAllowed() 
    	{	 
    		while ($donneesPageAccept=mysql_fetch_array($repPageAccept)) 
    		{
    			$pageAcceptArray[$donneesPageAccept['namePage']] = $DOCUMENT_ROOT.($donneesPageAccept['linkPage']); 
    		}
    	}	
     
    	//FONCTION QUI APPELLE LES FONCTIONS DE CREATION DES DIFFERENTE PARTIES DE LA PAGE
    	function buildPage()
    	{
    		$this->getBddSearch();
    		$this->verifyPagesAllowed();
    	}
    }  //Fin de la classe application
    ?>

  2. #2
    Membre chevronné Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Par défaut
    $repPageAccept est une variable locale dans ton code. Sa valeur est nulle car il n'y a aucune affectation.

    Tu as oublié le $this-> :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($donneesPageAccept=mysql_fetch_array($this->repPageAccept))
    Tu dois aussi utiliser $this-> dans la première fonction

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 88
    Par défaut
    Merci, j'ai du passé à autre chose avant de faire cette modif...

    ça me bouchais la vu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Probleme de variable dans une fonction
    Par termi78 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/05/2012, 17h03
  2. Réponses: 10
    Dernier message: 12/11/2008, 17h57
  3. Pb de variable dans une fonction :
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/10/2005, 13h54
  4. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 12h50
  5. Réponses: 2
    Dernier message: 04/01/2004, 15h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo