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 :

Resource ID #3 éclaircissements svp !


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par défaut Resource ID #3 éclaircissements svp !
    Bonjour ou plutôt bonne nuit à tous.

    Voilà, je suis très néophyte, ce qu'on appelle plus couramment un gros noob.

    Je fais des petits essais en ce moments avec mysql, histoire d'apprendre et certaines choses m'échappent.

    J'ai une base appelée test dans laquelle j'ai une table appelée table1. Table1 contient 3 champs : Séries, année et saison. Série est une varchar(20), année est un int(4) et saison un int(2). J'ai ajouté quelques enregistrements histoire de me faire une base pour pouvoir travailler.

    Dans phpmyadmin, je lance la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select *
    from `test`.`table1`
    where `saison`=5;
    J'ai mon résultat attendu, à savoir "Ally","2002","5"

    J'ai tenté de l'intégrer à un script php, j'étais sur cette piste :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    mysql_connect(localhost,root) or die('Erreur de connexion');
    mysql_select_db(test) or die('Base inexistante');
    $sql='select *
    from `test`.`table1`
    where `saison`=5;';
    $reponse=mysql_query($sql) or die ('Erreur de merde');
    echo $reponse
    mysql_close();
    ?>

    Et au lieu d'avoir mon Ally tout fier sur la page, je me retrouve avec ca :
    Resource ID #3

    J'ai résolu mon probléme en cherchant sur google, j'ai trouvé quelque chose qui m'a orienté la dessus :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    mysql_connect(localhost,root) or die('Erreur de connexion');
    mysql_select_db(test) or die('Base inexistante');
    $sql='select *
    from `test`.`table1`
    where `saison`=5;';
    $reponse=mysql_query($sql) or die ('Erreur de merde');
    $resultat = mysql_fetch_array($reponse);
    echo $resultat["Séries"];
    mysql_close();
    ?>

    Ca marche enfin si on veut, je ne vois que l'enregistrement correspondant à séries, alors qu'au départ, je fais un select * .
    Mon probléme est que je ne comprends pas pourquoi ça marche et surtout qu'est-ce que ce mysql_fetch_array. A quoi il sert, comment on s'en sert ?

    Histoire de partir sur de bonnes bases, j'aimerais avoir votre éclaircissement la dessus.

    Merci d'avance et bonne fin de nuit.

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    En fait ton problème n'est pas lié à MySQL mais à php.
    La fonction php mysql_query retourne une ressource, ce que d'autres langages (je pense à VBA) appelle un recorsdset.
    Il faut donc effectivement utiliser la famille des fonctions mysql_fetch_ pour parcourir ce jeu de résultat.
    Quant à l'utilisation d'une ligne retournée pas mysql_fetch_array(), par exemple, il s'agit, en fait, d'un tableau associatif.
    Si tu exécutes var_dump($resultat), dans ton script, tu en comprendras mieux la structure.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 6
    Par défaut
    Aîe dommage, t'étais bien parti mdr !

    Merci de ta réponse déja c'est gentil d'être magnanime mdr !

    MAis encore quelques points sombres, quelle définition tu peux me donner pour ressource ( ou encore record set). Comment peux-t-on défnir aussi un tableau associatif ? les définitions de google et wikipedia sont assez floues.

    Quelles différences entre fetch() et fetcharray()

    Si tu pouvais eclaircir ces points tu serais un amour.

  4. #4
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Une ressource php

    Les fonctions php de parcours d'une ressource résultant d'un appel au serveur MySQL (par mysql_query par exemple) forment une famille mysql_fetch_row(), mysql_fetch_array(), mysql_fetch_assoc() et mysql_fetch_object().
    Le mieux, là encore est de lire la doc afférente à ces fonctions.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

Discussions similaires

  1. Important à lire par tous SVP
    Par Community Management dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2010, 22h54
  2. Besoin d'éclaircissement svp, les paramètres dans une methode
    Par jon4ci dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 04/12/2009, 16h16
  3. [SQL] Que veut dire "Resource id #3" quelqu'un peut-il m'aider svp?
    Par momoh dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 12/05/2007, 23h28
  4. Compilation .net sous w32 : éclaircissement svp
    Par rpoulin dans le forum Delphi .NET
    Réponses: 7
    Dernier message: 04/11/2005, 22h04
  5. Réponses: 3
    Dernier message: 28/02/2003, 17h06

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