2010-12-14 12 views
0

En ce moment, je les manipuler comme ceci:Quels sont les moyens les plus efficaces pour gérer les requêtes?

$query = mysql_query("..."); 
while ($results = mysql_fetch_array($query)) 
{ 
    ... 
} 

Quels sont les moyens les plus pratiques pour aller à ce sujet?

+0

J'utilise généralement fetch_object, mais normalement vous utiliseriez une couche d'abstraction de base de données avec une bibliothèque orm. Au moins pour les grands projets. – janoliver

+2

ORM efficace? lol –

Répondre

2

Ma question est: qu'est-ce qui est peu pratique à ce sujet?

Il semble que le paradigme idéal pour le traitement de votre jeu de résultats, une ligne à la fois. Si c'est ce dont vous avez besoin, c'est ce dont vous avez besoin. Mon seul conseil serait de vous assurer que vous demandez seulement les colonnes dont vous avez besoin, et que vous laissez la base de données faire ce qu'il y a de mieux. En d'autres termes, si vous voulez des résultats agrégés, c'est quelque chose que la base de données devrait faire (plutôt que de faire descendre tous les enregistrements et de les agréger sur le client).

array_of_array = fetch_all() 

et

array_of_array = empty 
while (array = fetch_one()): 
    array_of_array.push (array); 

Certainement pas assez:


En ce qui concerne la nécessité de tout faire à la fois, il n'y a pas beaucoup de différence entre quelque chose comme (pseudo-code) pour les développeurs de langage de le penser nécessaire, compte tenu des fonctions fetch possibles trouvés here.

Si vous avez vraiment besoin de cette fonctionnalité, vous pouvez probablement la coder vous-même. C'est pourquoi la plupart des langages offrent la possibilité de créer des fonctions définies par l'utilisateur, après tout :-)

+0

Eh bien, il y a des cas où on * ne veut pas * traiter une ligne à la fois; plutôt, il serait commode d'avoir le résultat stocké comme tableau pour la consommation ultérieure. En l'état, si je veux cette fonctionnalité, je dois créer le tableau vide, puis passer et pousser chaque résultat; il semble qu'il devrait y avoir un moyen plus pratique d'y arriver. –