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, ou `FALSE` s'il ne reste plus de ligne.

mysql_fetch_array() est une version étendue de mysql_fetch_row(). En plus d'enregistrer les données sous forme d'un tableau à indice numérique, elle peut aussi les enregistrer dans un tableau associatif, en utilisant les noms des champs comme indices.

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.

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

    select table1.field as foo, table2.field as bar from table1, table2

Il est important de souligner que mysql_fetch_array() N'est PAS significativement plus lente que mysql_fetch_row(), tandis qu'elle ajoute un confort d'utilisation important.

L'option result_type de mysql_fetch_array() est une constante qui peut prendre les valeurs suivantes : `MYSQL_ASSOC`, `MYSQL_NUM` et `MYSQL_BOTH`.Cette fonctionnalité a été ajoutée en PHP 3.0.7. `MYSQL_BOTH` est la valeur par défaut de cet argument.

En utilisant `MYSQL_BOTH`, vos obtiendrez un tableau qui sera à la fois associatif et indexé numériquement. En utilisant `MYSQL_ASSOC`, vous obtiendrez un tableau associatif (tout comme le fait mysql_fetch_assoc()), et en utilisant `MYSQL_NUM`, vous obtiendrez un tableau indexé nuériquement (comme le fait mysql_fetch_row()).

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

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

Exemple 2. Exemple de 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 Name: %s", $row[0], $row[1]); } mysql_free_result($result); ?>`

Exemple 3. Exemple de 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 Name: %s", $row["id"], $row["name"]); } mysql_free_result($result); ?>`

Exemple 4. Exemple de 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 Name: %s", $row[0], $row["name"]); } mysql_free_result($result); ?>`

Voir aussi mysql_fetch_row() et mysql_fetch_assoc().

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