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

PHP & Base de données Discussion :

Erreur sur variable non défini - défini [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut Erreur sur variable non défini - défini
    Bonjour

    J'ai une erreur qui m'étonne.
    Voici mon code
    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
    try {
    	   $options[PDO::ATTR_ERRMODE]=PDO::ERRMODE_EXCEPTION;
    	   $db= new PDO('mysql:host=localhost;dbname=tests','root','',$options);
     echo '<p>connexion à la base de données</p>';
     
       }
       catch (Exeption $e) {
        die('erreur : '.$e->getMessage());   
    	}
    	$parent = 0;
     
     
    //Fonction enregisteement   
     function nbenregistrement($iparent) {
     echo $iparent;	// test visuel de la variable iparent 
       $requete ='SELECT COUNT(id) as nenr FROM menug WHERE ID_parent='.$iparent;
       echo '<br/>'.$requete.'<br/>';//test visuel de la requete
       $req = $db->query($requete);
       $data = $req->fetch();
       $nEnr = $data['nenr'];
       return($nEnr);
       echo '<p><h5>Le nombre d\'enregistrement de la fonction est de : '.$nEnr.'</p></h5>';
       $req->closeCursor();}
     
    $requete ='SELECT * FROM menug WHERE ID_parent='.$i;
    	$req = $db->query($requete);
       $data = $req->fetch();
       $Nbenfants = $data['nbenfants'];
       $enfants=$data['id_enfants'];
       if($Nbenfants ==0 ) {
     
    	   echo '<ul>'.$data['Titre'];
       }else {
    	   nbenregistrement($i);
     
    	   if($enfants==0){
    		   echo '<ul>'.$data['Titre'].'avec des enfants';
    	   }else{
    		   for($j=0;$j=$Nbenfants;$j++) {
    		   echo '<li>'.$data['Titre'].'</li>';
    		   }
    	   }
       };
       echo'</ul>';
       $req->closeCursor();}
    Voici ce qui me donne comme erreur
    ( ! ) Notice: Undefined variable: db in E:\Sites\tests\MenuPhp\index.php on line 45
    db étant défini dans la boucle TRY.
    Mais lorsque j'utilise ma fonction, j'ai l'erreur suivante.

    Une idée ?

    Cordialement

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    t'as ligne 45 ne correspond pas a ton code, mais bon pour ton erreur c'est du basique :
    http://php.net/manual/fr/language.variables.scope.php

  3. #3
    Membre régulier Avatar de BXDSPORT
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2002
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 353
    Points : 96
    Points
    96
    Par défaut
    Concernant la ligne exacte- j'ai effacé quelques lignes.
    Cela signifie selon tes dires qu'il faut que je définise la variabe db en globale.
    Une question laquelle. celle dans le TRY ou dans la fonction.

    Merci

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 727
    Points
    10 727
    Par défaut
    il faut que $db soit accessible dans ta fonction, donc le global doit être dedans

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

Discussions similaires

  1. [XL-2013] erreur 91, variable non défini ou variable de bloc with
    Par parvi dans le forum Macros et VBA Excel
    Réponses: 27
    Dernier message: 27/04/2015, 11h58
  2. erreur compilation: variable non défini
    Par ngouagme dans le forum Langage
    Réponses: 8
    Dernier message: 07/07/2010, 16h38
  3. [AC-2003] Erreur de variable non définie
    Par piercleo dans le forum VBA Access
    Réponses: 1
    Dernier message: 12/01/2010, 17h02
  4. Réponses: 1
    Dernier message: 19/08/2005, 13h33
  5. [Debutant][Install][VS]erreur sur fichier non trouvé.
    Par silvermoon dans le forum DirectX
    Réponses: 4
    Dernier message: 16/07/2004, 21h59

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