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 :

Problème de mise au point avec appel de fonctions [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Par défaut Problème de mise au point avec appel de fonctions
    Re Bonjour,
    C'est encore moi le débutant qui souffre.
    je n'arrive pas à comprendre l'erreur
    Voici le 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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Exemple Appel Fonction requête SQL</title>
    </head>
     
    <body>
    <?php 
    /* appel de la fonction EXTRACTION DES DONNEES */
    $infoID = extraireinfos("1143");  		
    /* RECUPERATION DES DONNEES */
    /* Exemple de Lecture des lignes avec Extract */
    $ligne = mysqli_fetch_assoc($resultat);
    extract($ligne);
    if ($Identifiant == $infoID)
      {
       echo 'Identifiant: $Identifiant';
       echo 'Nom: $nom';
       echo 'Prénomom: $nom';
     
       }
    else 
       echo 'pas trouvé';
     
    ?>
    </body>
    </html>
    <?php 
    function extraireinfos($Identifiant)  
    {
    $hote = "localhost";
    $utilisateur = "root";
    $mPasse = "";
    $nombase = "Anciens élèves";
    $connexion = mysqli_connect($hote, $utilisateur, $mPasse, $nombase) or die ("Connexion au serveur impossible.");
    /* Attention le nom de la table doit être mis entre ` `  ce ne sont pas des quotes' '.
     Voir si on peut le changer dans le serveur SQL */
    $requete = "SELECT nom,prénom,entrée_berthelot,sortie_berthelot FROM `cotisants 2009` WHERE Identifiant='$Identifiant'";
    $resultat = mysqli_query($connexion, $requete) or die ("Execution requête SQL impossible");
    return mysqli_fetch_assoc($resultat);
    }
    ?>
    et voici l'erreur:

    Notice: Undefined variable: resultat in C:\wamp\www\TESTPHP\Fonction Exploitation Requete SQL.php on line 14

    Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in C:\wamp\www\TESTPHP\Fonction Exploitation Requete SQL.php on line 14

    Warning: extract() expects parameter 1 to be array, null given in C:\wamp\www\TESTPHP\Fonction Exploitation Requete SQL.php on line 15

    Notice: Undefined variable: Identifiant in C:\wamp\www\TESTPHP\Fonction Exploitation Requete SQL.php on line 16
    pas trouvé.

    Désolé et Merci d'avance pour votre aide au debug.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton fetch est déjà fait dans ta fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $ligne = extraireinfos("1143");
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre expérimenté
    Avatar de Tesing
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2009
    Messages
    272
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2009
    Messages : 272
    Par défaut
    La variable resultat est une variable locale à la fonction extraireinfos. Elle n'est pas accessible en dehors.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Par défaut
    Ne m'en sort toujours pas.
    Ai je pense suivi conseils voici le 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Exemple Appel Fonction requête SQL</title>
    </head>
     
    <body>
    <?php 
    /* appel de la fonction EXTRACTION DES DONNEES */
    $Identifiant = "1143" 
    $ligne = extraireinfos("1143");  		
    /* RECUPERATION DES DONNEES */
    /* Exemple de Lecture des lignes avec Extract */
    /* $ligne = mysqli_fetch_assoc($resultat); */
    extract($ligne);
    if ($Identifiant == "1143")
      {
       echo 'Identifiant: $Identifiant';
       echo 'Nom: $nom';
       echo 'Prénomom: $nom';
     
       }
    else 
       echo 'pas trouvé';
     
    ?>
    </body>
    </html>
    <?php 
    function extraireinfos($Identifiant)  
    {
    $hote = "localhost";
    $utilisateur = "root";
    $mPasse = "";
    $nombase = "Anciens élèves";
    $connexion = mysqli_connect($hote, $utilisateur, $mPasse, $nombase) or die ("Connexion au serveur impossible.");
    /* Attention le nom de la table doit être mis entre ` `  ce ne sont pas des quotes' '.
     Voir si on peut le changer dans le serveur SQL */
    $requete = "SELECT nom,prénom,entrée_berthelot,sortie_berthelot FROM `cotisants 2009` WHERE Identifiant='$Identifiant'";
    $resultat = mysqli_query($connexion, $requete) or die ("Execution requête SQL impossible");
    return mysqli_fetch_assoc($resultat);
    }
    ?>
    Ai erreur:

    Parse error: parse error in C:\wamp\www\TESTPHP\Fonction Exploitation Requete SQL.php on line 12

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Par défaut
    Pour essayer d'avancer j'ai simplifié le code car je me suis aperçu que le champ identifiant n'est pas accessible, c'est une primary key avec auto-incrément.
    Je ne sais pas pourquoi on ne peut pas la mettre dans le select ni dans echo.
    Donc voici mon nouveau code qui fonctionne avec cependant un echo très rudimentaire:
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Exemple Appel Fonction requête SQL</title>
    </head>
     
    <body>
    <?php 
    /* appel de la fonction EXTRACTION DES DONNEES */
    /* $Identifiant = "1143" */
    $ligne = extraireinfos("1143");  		
    /* RECUPERATION DES DONNEES */
    /* Exemple de Lecture des lignes avec Extract */
    /* $ligne = mysqli_fetch_assoc($resultat); */
    extract($ligne);
    /* if ($Identifiant == "1143")
      {
    */  
       echo  $Identifiant;
       echo  $nom;
       echo  $prénom;
     
    /*
       }
    else 
       echo 'pas trouvé';
    */
    ?>
    </body>
    </html>
    <?php 
    function extraireinfos($Identifiant)  
    {
    $hote = "localhost";
    $utilisateur = "root";
    $mPasse = "";
    $nombase = "Anciens élèves";
    $connexion = mysqli_connect($hote, $utilisateur, $mPasse, $nombase) or die ("Connexion au serveur impossible.");
    /* Attention le nom de la table doit être mis entre ` `  ce ne sont pas des quotes' '.
     Voir si on peut le changer dans le serveur SQL */
    $requete = "SELECT nom,prénom,entrée_berthelot,sortie_berthelot FROM `cotisants 2009` WHERE Identifiant='$Identifiant'";
    $resultat = mysqli_query($connexion, $requete) or die ("Execution requête SQL impossible");
    return mysqli_fetch_assoc($resultat);
    }
    ?>
    Et voici le résultat:

    Notice: Undefined variable: Identifiant in C:\wamp\www\TESTPHP\Fonction Exploitation Requete SQL.php on line 20
    SOULEJacques

    Merci de me dire ce que vous en pensez.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il faut que "identifiant" soit dans les champs de ton SELECT.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Par défaut
    OK
    J'ai une erreur lorsque je veux l'afficher avec echo $Identifiant, " ";

    Résultat:
    Notice: Undefined variable: Identifiant in C:\wamp\www\TESTPHP\Fonction Exploitation Requete SQL.php on line 21
    SOULE Jacques

    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
    46
    47
    48
    49
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Exemple Appel Fonction requête SQL</title>
    </head>
     
    <body>
    <?php 
    /* appel de la fonction EXTRACTION DES DONNEES */
    /* $Identifiant = "1143" */
    $ligne = extraireinfos("1143");  		
    /* RECUPERATION DES DONNEES */
    /* Exemple de Lecture des lignes avec Extract */
    /* $ligne = mysqli_fetch_assoc($resultat); */
    extract($ligne);
    /* if ($Identifiant == "1143")
      {
    */  
    /* Il semble qu'on ne peut pas accéder au champ Identifiant */
       echo  $Identifiant, "   ";
     
       echo  $nom, "    ";
     
       echo  $prénom;
     
    /*
       }
    else 
       echo 'pas trouvé';
    */
    ?>
    </body>
    </html>
    <?php 
    function extraireinfos($Identifiant)  
    {
    $hote = "localhost";
    $utilisateur = "root";
    $mPasse = "";
    $nombase = "Anciens élèves";
    $connexion = mysqli_connect($hote, $utilisateur, $mPasse, $nombase) or die ("Connexion au serveur impossible.");
    /* Attention le nom de la table doit être mis entre ` `  ce ne sont pas des quotes' '.
     Voir si on peut le changer dans le serveur SQL */
    $requete = "SELECT identifiant,nom,prénom,entrée_berthelot,sortie_berthelot FROM `cotisants 2009` WHERE Identifiant='$Identifiant'";
    $resultat = mysqli_query($connexion, $requete) or die ("Execution requête SQL impossible");
    return mysqli_fetch_assoc($resultat);
    }
    ?>

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

Discussions similaires

  1. Quelques mises aux points avec wxNotebook
    Par TheDrev dans le forum wxWidgets
    Réponses: 2
    Dernier message: 05/02/2008, 17h12
  2. [XHTML] problème de mise en page avec table
    Par irnbru dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/05/2007, 00h02
  3. Problème de mise en page avec feuille de style css
    Par leroivert dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 15/11/2005, 09h36
  4. Petite mise au point avec gluUnProject.
    Par fatpat94 dans le forum OpenGL
    Réponses: 1
    Dernier message: 27/07/2005, 15h40

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