Manuel PHP
Précédent |  | Suivant

# mysql_fetch_array

(PHP 3, PHP 4, PHP 5)

mysql_fetch_array -- Retourne une ligne de résultat MySQL sous la forme d'un tableau associatif, d'un tableau indexé, ou les deux

## Description

array mysql_fetch_array ( resource result [, int result_type] )

mysql_fetch_array() retourne un tableau qui contient la ligne demandée dans le résultat `result` et déplace le pointeur de données interne d'un cran.

## Liste de paramètres

`result`

  La ressource de résultat qui vient d'être évaluée. Ce résultat vient de l'appel à la fonction mysql_query().

`result_type`

  Le type de tableau à récupérer. C'est une constante qui peut prendre les valeurs suivantes : `MYSQL_ASSOC`, `MYSQL_NUM`, et la valeur par défaut est `MYSQL_BOTH`.

## Valeurs de retour

Retourne un tableau qui correspond à la ligne récupérée ou `FALSE` s'il n'y a plus de lignes. Le type de tableau retourné depend de la définition du paramètre `result_type`. En utilisant `MYSQL_BOTH` (défaut), vous récupèrerez un tableau contenant des indices associatifs et numériques. En utilisant `MYSQL_ASSOC`, vous ne récupèrerez que les indices associatifs (comme le fonctionnement de la fonction mysql_fetch_assoc()), en utilisant `MYSQL_NUM`, vous ne récupèrerez que les indices numériques (comme le fonctionnement de la fonctionmysql_fetch_row()).

Si plusieurs colonnes portent le même nom, la dernière colonne aura la priorité. Pour accéder aux autres colonnes du même nom, vous devez utiliser l'index numérique, ou faire un alias pour chaque colonne. Pour les alias de colonnes, vous ne pourrez pas accéder aux contenus avec les noms originaux des colonnes.

## Exemples

Exemple 1. Requête avec duplication de nom de colonnes

    SELECT table1.field AS foo, table2.field AS bar FROM table1, table2

Exemple 2. mysql_fetch_array() avec `MYSQL_NUM`

`<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Impossible de se connecter : " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_NUM)) { printf("ID : %s Nom : %s", $row[0], $row[1]); } mysql_free_result($result); ?>`

Exemple 3. mysql_fetch_array() avec `MYSQL_ASSOC`

`<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Impossible de se connecter : " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) { printf("ID : %s Nom : %s", $row["id"], $row["name"]); } mysql_free_result($result); ?>`

Exemple 4. mysql_fetch_array() avec `MYSQL_BOTH`

`<?php mysql_connect("localhost", "mysql_user", "mysql_password") or die("Impossible de se connecter : " . mysql_error()); mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable"); while ($row = mysql_fetch_array($result, MYSQL_BOTH)) { printf ("ID : %s Nom : %s", $row[0], $row["name"]); } mysql_free_result($result); ?>`

## Notes

> Performance : Une chose importante à noter est que l'utilisation de mysql_fetch_array() n'est pas significativement plus lent que l'utilisation de mysql_fetch_row(), alors qu'il fournit des valeurs significatives ajoutées.

> Note : Les noms des champs retournés par cette fonction sont sensibles à la casse.

> Note : Cette fonction définit les champs NULL à la valeur PHP `NULL`.

## Voir aussi

mysql_fetch_row()
mysql_fetch_assoc()
mysql_data_seek()
mysql_query()

Précédent | Sommaire | Suivant
mysql_escape_string | Niveau supérieur | mysql_fetch_assoc