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

Administration MySQL Discussion :

Impossible afficher resultat "mysql_fetch_array()"


Sujet :

Administration MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 59
    Points : 44
    Points
    44
    Par défaut Impossible afficher resultat "mysql_fetch_array()"
    Salut à tous, je débute. Mon souci est que je n'arrive pas afficher les enregistrements de ma table "emprunteurs" des champs "nom" et"prenom". Je n'ai quand j'execute le code aucun message d'erreur mais les données ne s'affichent pas??. J'ai pourtant bien crée 2 enregistrements dans cette table et quand je fais la requete SQL directement à partir de la page d'administration de PhPMyAdmin (onglet "SQL") j'ai bien le résultat attendut. Si quelqu'un peut m'aider merci:
    Voici uniquement la partie du code php dans ma page html:
    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
     
    <?php
     
    $localhost='localhost';
    $user='root';
    $password='rootdb';
    $BDD='DevoirSerie12';
    $query="SELECT nom,prenom FROM emprunteurs WHERE 1";
     
    $connect_db=mysql_connect($localhost,$user,$password);
    if(!$connect_db)
    {
    	echo 'La connection à la base de donnée à echouée';
    }
     
    mysql_select_db($BDD,$connect_db);
    $result =mysql_query($query);
    if (!$result)
    {
    	echo 'La requete à échoué'.mysql_error();
    	exit;
    }
     
    while ($row =mysql_fetch_array($result,MYSQL_BOTH));
    {
    	echo 'nom,prenom: '.$row;
    	echo '<br>';
     
    }
    mysql_free_result($result);
    mysql_close($connect_db);
    ?>

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Salut,

    mysql_fecth_array() te retourne un tableau contenant le nom de tes champs sélectionnés ainsi que leur valeurs respectives, donc:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     echo 'nom,prenom: '.$row['nom'] .'  '.$row['prenom']  ;
     echo '<br>';
    a+

  3. #3
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Salut,

    mysql_fetch_array te renvoie un tableau contenant la ligne courante de ton jeu de résultat.

    pour acceder aux champs nom et prenom il te faut faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo 'nom,prenom: '.$row['nom'] .',' .$row['prenom'];
    Tu trouveras plus de détails dans la documentation : http://fr.php.net/manual/fr/function...etch-array.php

    Je te conseille également de parcourir toute la section consacré à mysql et de faire un parcours rapide des différentes fonctions de facon à savoit ce qui existe

    Bonne continuation
    pierre
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    je vous remercie. Mais j'ai essayé comme vous me l' avez indiqué, mais rien ne s' affiche?? J' ai cherché quand même avant de poster, j'ai essayé plusieurs solutions mais rien...
    Avez vous d'autres idées d'ou cela pourrait venir..De la config? je vous met la copie entière de ma page en .php. Merci
    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
     
    <html version="4.0">
    <head><TITLE>4ème Partie Devoir</TITLE></head>
    <body>
    <h1 align=center>Requete Php vers BDD SQL</h1>
     
    <br><br>
    <b align=center> Donne les noms et prenoms des emprunteurs inscrits dans la table emprunteur de la BDD DevoirSerie12<br>
    Les noms et prenoms doivent s'afficher ici:
    </br>
    </b>
     
    <?php
     
    $localhost='localhost';
    $user='root';
    $password='rootdb';
    $BDD='DevoirSerie12';
    $query="SELECT nom,prenom FROM emprunteurs WHERE 1";
     
    $connect_db=mysql_connect($localhost,$user,$password);
    if(!$connect_db)
    {
    	echo 'La connection à la base de donnée à echouée';
    }
     
    mysql_select_db($BDD,$connect_db);
    $result =mysql_query($query);
    if (!$result)
    {
    	echo 'La requete à échoué'.mysql_error();
    	exit;
    }
     
    while ($row =mysql_fetch_array($result,MYSQL_BOTH));
    {
    	echo 'nom,prenom: '.$row['nom'] .' '.$row['prenom']  ; 
    	echo '<br>';
     
    }
    mysql_free_result($result);
    mysql_close($connect_db);
    ?>
    <br><hr><br>
    Si vous voulez ajouter un enregistrement <a href="enreistrement.html">cliquez ici</a>
    <br>Retour page d'index<a href=index.html> ici</a>
    </body>
    </html>

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Points : 201
    Points
    201
    Par défaut
    et en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    while ($row =mysql_fetch_array($result));
    {
       echo 'nom,prenom: '.$row[0] .' '.$row[1];
       echo '<br>';
     
    }
    ?

  6. #6
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est quoi MYSQL_BOTH ? Essaie de l'enlever peut-être...


    PS : En français Connexion
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  7. #7
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Citation Envoyé par JWhite
    C'est quoi MYSQL_BOTH ? Essaie de l'enlever peut-être...
    MYSQL_BOTH est une option tout a fait valide. Bon c'est l'option par défaut donc pas trop d'interet de la fixer mais on ne s'est jamais de quoi le futur de php est fait

    Pierre
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    pfff n'importe quoi les gars ! pour que ca marche il faut faire comme ca :
    si il y a une erreur il faut que tu regarde ce que tu selectionne dans ton select. moi je t'ai mis id par defaut mais ca peut etre un autre champ identificateur ok ?

    voila !
    en esperant t'avoir pu t'aider ?


    <?
    $localhost='localhost';
    $user='root';
    $password='';
    $BDD='prorencontre';
    $query="SELECT * FROM emprunteur WHERE id='1'";

    $connect_db=mysql_connect($localhost,$user,$password);
    if(!$connect_db)
    {
    echo 'La connection à la base de donnée à echouée';
    }

    mysql_select_db($BDD,$connect_db);
    $result =mysql_query($query);
    if (!$result)
    {
    echo 'La requete à échoué'.mysql_error();
    exit;
    }
    if(mysql_num_rows($result)>0){
    $row=mysql_fetch_array($result);
    {
    echo $row["prenom"];
    echo "<br>";
    echo $row["nom"];
    echo '<br>';

    }}?>

  9. #9
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Elle est bien ta requete mais elle ne sélectionne qu'un seul emprunteur alors que lui, je pense, voulait afficher tous les emprunteurs. Donc tu changes la problématique.

    En plus, il avait bien spécifié au debut de son post que la requete était testée et valide
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    ok ok donc c simple ya pa de soucis tu rajoutes ton while et au lieu de definir une id tu selectionne par rapport a une restriction specifique. genre, celui par rapport a un membre

    -- EDIT --

    Ok ok je vois maintenant ce que tu veux faire,
    Ben c'est simple tu remplace ce que jai mis en haut, sur les 4/5 derniere ligne mais au lieu de mettre le if tu met while et tu rajoute des parenthese.

    ensuite dans ton select tu enleve le where.
    et normalement ca marchera...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 59
    Points : 44
    Points
    44
    Par défaut
    j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'nom,prenom: '.$row[0] .' '.$row[1];
    mais idem.

    J' ai mis nom au ieu de id,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query="SELECT nom,prenom FROM emprunteurs WHERE nom='1'";
    . J'ai mis la clef primaire sur le champ nom dans la table "emprunteurs" mais ça change rien. Par contre j'ai pas mis d'index dans la table; Ca peut avoir une incidence.
    Je comprend plus rien.!!..Si vous pouvez encore m'aider, merci.

  12. #12
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Milkasoprano je suis pas sûr que tu captes tout enfin bref.

    Je pense avoir trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while ($row =mysql_fetch_array($result,MYSQL_BOTH));
    { 
       echo 'nom,prenom: '.$row['nom'] .' '.$row['prenom']  ; 
       echo '<br>'; 
     
    }
    Je pense que c'est simplement le point-virgule juste après le while qui pose problème, du coup le while n'est pas fait correctement
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  13. #13
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut

    c'était tellement bête que personne ne l'avait vu !
    (moi non plus d'ailleurs, pouratant j'avais lu ce post)
    comme quoi c'est toujours les erreurs d'étourderie les plus betes qui font le plus ch***

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 59
    Points : 44
    Points
    44
    Par défaut [resolu]
    Eh oui c'est bien le ";" apres le while qui posait pbm!!!!! Je suis dégouté , j'ai passé au moins 2 heures dessus!!! Le pire c'est que je connais la syntaxe du while ( C++...) Ca m'a fait une bonne révision...
    Merci encore à tous et excusez moi pour vous avoir fait perdre du temps pour ça!

    Au fait quand je disais Par contre j'ai pas mis d'index dans la table; Ca peut avoir une incidence. C'était une question...Si quelqu'un pourrait répondre mais je pense que non 9a n'a pas dincidence j'ai juste pour aller plus vite dans la rechercehe c'est ça?

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Citation Envoyé par Hervé Saladin

    c'était tellement bête que personne ne l'avait vu !
    (moi non plus d'ailleurs, pouratant j'avais lu ce post)
    comme quoi c'est toujours les erreurs d'étourderie les plus betes qui font le plus ch***
    +1

    Jl'ai relu qu moins 50000 fois sans voir ce point-virgule.

    En tout cas quel oeil JWhite

  16. #16
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Je l'avais pas vu non plus celle-là

    Bien joué JWhite
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  17. #17
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Merci merci lol.
    Moi non plus j'avais pas vu tout de suite, c'est en relisant que j'ai vu. C'est le genre d'erreurs qui peuvent très vite prendre la tête et je suis content de t'avoir aidé
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

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

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