(PECL maxdb >= 1.0)
maxdb_fetch_array -- maxdb_result::fetch_array — Récupère une ligne de résultat dans un tableau numérique, associatif ou les deux
Style procédural
Style orienté objet
Retourne un tableau qui correspond à la ligne récupérée ou
NULL
s'il n'y a plus de lignes pour le jeu de résultats
représenté par le paramètre result
.
maxdb_fetch_array() est une version étendue de la fonction maxdb_fetch_row(). En plus de stocker les données dans un tableau de résultats aux indices numériques , la fonction maxdb_fetch_array() peut également stocker les données dans des indices associatifs, en utilisant les noms de champs du résultat en tant que clés.
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
.
Si deux colonnes ou plus du résultats ont les mêmes noms de champs, la dernière colonne aura la priorité et effacera les données précédentes. Pour accéder aux autres colonnes du même nom, la version indexée numériquement de la ligne doit être utilisée.
Le second argument optionnel resulttype
est une
constante indiquant quel type de tableau doit être produit pour les données
de la ligne courante. Les valeurs possibles pour ce paramètre sont les
constantes MAXDB_ASSOC
, MAXDB_ASSOC_UPPER
,
MAXDB_ASSOC_LOWER
, MAXDB_NUM
, ou
MAXDB_BOTH
. Par défaut, la fonction
maxdb_fetch_array() prendra la valeur
MAXDB_BOTH
, qui est une combinaison de
MAXDB_NUM
et de MAXDB_ASSOC
,
pour ce paramètre.
En utilisant la constante MAXDB_ASSOC
,
cette fonction fonctionne de la même manière que la fonction
maxdb_fetch_assoc(), tandis que
MAXDB_NUM
fonctionne de la même manière
que la fonction maxdb_fetch_row().
L'option MAXDB_BOTH
créera un seul
tableau contenant les deux sortes d'attributs.
En utilisant la constante MAXDB_ASSOC_UPPER, le comportement de cette fonction est identique à l'utilisation de MAXDB_ASSOC à la seule différence que l'index de la colonne du tableau est le nom du champ en majuscule.
En utilisant la constante MAXDB_ASSOC_LOWER, le comportement de cette fonction est identique à l'utilisation de MAXDB_ASSOC à la seule différence que l'index de la colonne du tableau est le nom du champ en minuscule.
Retourne un tableau qui correspond à la ligne récupérée ou
NULL
s'il n'y a plus de lignes de disponibles dans le jeu de
résultats.
Exemple #1 Style orienté objet
<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Connect failed: %s\n", maxdb_connect_error());
exit();
}
$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = $maxdb->query($query);
/* Tableau numérique */
$row = $result->fetch_array(MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);
/* Tableau associatif */
$row = $result->fetch_array(MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
/* Tableau associatif et numérique */
$row = $result->fetch_array(MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);
/* Libération du jeu de résultats */
$result->close();
/* Fermeture de la connexion */
$maxdb->close();
?>
Exemple #2 Style procédural
<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
/* Vérification de la connexion */
if (maxdb_connect_errno()) {
printf("Echec de la connexion : %s\n", maxdb_connect_error());
exit();
}
$query = "SELECT name, state FROM hotel.city ORDER by zip";
$result = maxdb_query($link, $query);
/* Tableau numérique */
$row = maxdb_fetch_array($result, MAXDB_NUM);
printf ("%s (%s)\n", $row[0], $row[1]);
/* Tableau associatif */
$row = maxdb_fetch_array($result, MAXDB_ASSOC);
printf ("%s (%s)\n", $row["NAME"], $row["STATE"]);
/* Tableau associatif et numérique */
$row = maxdb_fetch_array($result, MAXDB_BOTH);
printf ("%s (%s)\n", $row[0], $row["STATE"]);
/* Libération du jeu de résultats */
maxdb_free_result($result);
/* Fermeture de la connexion */
maxdb_close($link);
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
New York (NY) New York (NY) Long Island (NY)