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 :

mysql_fetch_array(mysql_query([...])) [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut mysql_fetch_array(mysql_query([...]))
    Bonjour,

    En utilisant ce code là, ça fonctionne comme je le souhaite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $abc = mysql_query("SELECT id_entreprises FROM entreprises WHERE id_membres = '" . $info_flux_financier['id_membres'] . "' ");
    while($dat = mysql_fetch_array($abc))
    {
    	[...]
    }
    Par contre en utilisant ce code ci, ça crée une boucle infini ... après 1, 2 minutes, il affiche une page incomplète.

    Alors que la seule chose qui change, c'est que j'ai mis le mysql_fetch_array et le mysql_query en une seule ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while($dat = mysql_fetch_array(mysql_query("SELECT id_entreprises FROM entreprises WHERE id_membres = '" . $info_flux_financier['id_membres'] . "' ")))
    {
    	[...]
    }
    D'avance merci de votre aide.

  2. #2
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    je pense que ça crée une boucle infinie parce qu'il exécute la fonction mysql_query (et donc la requete) à chaque fois, et le while ne se termine jamais.
    La première solution est la bonne.

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Février 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 21
    Par défaut
    Et quelle est la question ?

    Et oui, la deuxième méthode ne peut pas fonctionner, tu refait la query à chaque fois, tu recois donc un nouveau ressource set à chaque passage, dont tu extrait le premier résultat.
    Ca bouclera donc à l'infini ...

    Dans le premier cas, tu fais la query une fois, tu obtiens le ressource set dans $abc, et a chaque passage de la boucle tu extrait l'un des résultat, la boucle s'arrête quand le ressource set est vide.

  4. #4
    Membre éclairé
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Par défaut
    Merci de vos réponses.

    J'ai pris note qu'il fallait décomposer en deux lignes dans le cas d'un While, mais dans une utilisation normal, sans boucle peut on mettre tout en une seule ligne ?

    Ca permet de ne pas s'encombrer de variables intermédiaires sans utilités et de rendre le code plus clair ...

  5. #5
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut, tu dois pouvoir mais c'est plus clair de faire ca sur plusieurs lignes, surtout si ta requête est complexe. Tu ferais mieux de te poser la question est-ce que j'ai vraiement besoin de mysql_fetch_array() et non pas de fetch_assoc() ou fetch_row()

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

Discussions similaires

  1. erreur mysql_fetch_array()
    Par speedylol dans le forum Requêtes
    Réponses: 3
    Dernier message: 05/01/2006, 12h00
  2. [SGBD] Warning: mysql_fetch_array()
    Par talme dans le forum Installation
    Réponses: 2
    Dernier message: 03/11/2005, 04h39
  3. warning systematique lors d'un mysql_query
    Par bizet dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/10/2005, 19h19
  4. [SGBD] mysql_fetch_array provoque une erreur
    Par nicerico dans le forum Requêtes
    Réponses: 6
    Dernier message: 06/10/2005, 14h20
  5. [php / mysql] pb if ( mysql_query() )
    Par dkmatt dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/01/2004, 20h07

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