mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object
Les fonctions sont toutes très similaires:
mysql_fetch_array(), mysql_fetch_assoc(), mysql_fetch_object()
J'ai récemment commencé à utiliser mysql_fetch_object que je suis en train de faire beaucoup plus de la programmation orientée objet avec PHP.
Mais ce sont les peuples des opinions sur ce qui est le meilleur à utiliser et pourquoi, et peut-être le scénario qu'ils sont les meilleurs pour être utilisé dans.
Merci pour vos pensées!
source d'informationauteur Lizard
Vous devez vous connecter pour publier un commentaire.
mysql_fetch_array
vous obtenez un tableau qui peut avoir en tant que clés :MYSQL_BOTH
MYSQL_ASSOC
-- dans ce cas, vous obtiendrez la même chose que vous obtenez lors de l'utilisation demysql_fetch_assoc
MYSQL_NUM
Obtenir des résultats indexé par les noms de colonnes est probablement le plus utile de la solution-la plus facile à utiliser, au moins.
Mais pour obtenir des résultats indexés par les positions des champs dans la clause select est intéressant dans une situtation : quand vous avez plusieurs colonnes qui ont le même nom ou l'alias.
Dans ce cas, vous ne pouvez pas avoir deux entrées avec le même indice dans un tableau, vous serez en mesure d'accéder à un seul de ces colonnes en utilisant le nom de colonne de l'index.
Pour les autres colonnes qui ont le même nom, vous devez utiliser des indices numériques.
Cette situation est probablement le seul cas pour lequel je voudrais utiliser
mysql_fetch_array
-- et je préfère utiliser des alias dans ma requête, afin d'éviter cette situation, il est plus clair, à mon avis.mysql_fetch_assoc
, vous obtiendrez un tableau, avec les noms de colonnes comme les clés, et les données en tant que valeurs.Pas grand chose à dire, en fait.
Et
mysql_fetch_object
vous obtiendrez objets en retour.Le choix entre
mysql_fetch_assoc
etmysql_fetch_object
probablement dépendre de la façon dont vous développez votre application : si vous utilisez des objets partout, le second est probablement la plus adaptée.Si à l'aide de tableaux de données-conteneurs, vous pouvez simplement aller avec le premier.
mysql_fetch_array() récupère une ligne de résultat sous forme de tableau associatif, d'un tableau numérique, ou les deux.
Elle retourne un tableau de chaînes de caractères qui correspond à la ligne récupérée, ou FALSE si il n'y a plus de lignes. Le type de tableau renvoyé dépend de la façon dont $result_type est défini.
En utilisant MYSQL_NUM, vous obtenez seulement le nombre d'indices ($row[0], $rowUnetc) c'est à dire, tableau numérique.
En utilisant MYSQL_ASSOC, vous obtenez seulement des indices associatifs ($row["id"], $row["nom"], etc) c'est à dire, tableau associatif.
En utilisant MYSQL_BOTH (par défaut), vous obtiendrez un tableau avec à la fois associatif et le nombre d'indices. ($row[0], $row["nom"], etc) c'est à dire, les deux tableau numérique et d'un tableau associatif.
mysql_fetch_assoc() récupère une ligne de résultat sous forme de tableau associatif. (les noms des colonnes de la clé).
mysql_fetch_object() récupère le résultat de la ligne comme un objet.
Elle retourne un objet avec des propriétés qui correspondent à la ligne récupérée et déplace les données internes pointeur à l'avance.
Pour moi il n'y a adantages de l'aide
mysql_fetch_assoc() que vous pouvez utiliser le tableau des fonctions telles que
array_walk et uasort().
Courte description:
mysql_fetch_assoc() : Cela vous arrive un tableau associatif de données.
mysql_fetch_array() : Ceci renvoie à une combinaison de tableau de associatif éléments ainsi que des données avec des index numériques.
mysql_fetch_object() : Retourne un objet avec des propriétés qui correspondent à la ligne récupérée.
Source