(PHP 4, PHP 5, PECL mysql:1.0)
mysql_fetch_array — Extrae la fila de resultado como una matriz asociativa, una matriz numérica o ambas
Devuelve una matriz que corresponde a la sentencia extraida, o falso si no quedan más filas.
mysql_fetch_array() es una versión extendida de mysql_fetch_row(). Además de guardar los datos en el índice numérico de la matriz, guarda también los datos en los índices asociativos, usando el nombre de campo como clave.
Si dos o más columnas del resultado tienen el mismo nombre de campo, la última columna toma la prioridad. Para acceder a la(s) otra(s) columna(s) con el mismo nombre, se debe escificar el indice numerico o definir un alias para la columna. En columnas con alias, usted no puede acceder al contenido con el nombre original de la columna (usando 'field' en este ejemplo)
Example#1 Consulta con campos repetidos usando alias
SELECT table1.field AS foo, table2.field AS bar FROM table1, table2
La función mysql_fetch_array() no es significativemente mas lenta que mysql_fetch_row(), sin embargo tiene un valor añadido importante.
El segundo argumento opcional tipo_de_resultado en mysql_fetch_array() es una constante y puede tomar los siguientes valores: MYSQL_ASSOC, MYSQL_NUM, y MYSQL_BOTH. Esta caraterística fue agregada en PHP 3.0.7. MYSQL_BOTH
Usando MYSQL_BOTH, usted obtendrá una matrix con índices asociativos y numéricos. Usando MYSQL_ASSOC, usted solo tendrá índices asociativos (tal como funciona mysql_fetch_assoc()), usando MYSQL_NUM, solo obtendrá los índices numéricos (tal como si fuera mysql_fetch_row()).
Note: Los nombres de campos retornados por esta función diferencian entre mayusculas y minusculas.
Note: Esta funcion define campos NULL como valores PHP NULL.
Vea también mysql_fetch_row(), mysql_fetch_assoc(), mysql_data_seek(), y mysql_query().
Example#2 mysql_fetch_array() con MYSQL_NUM
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . 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);
?>
Example#3 mysql_fetch_array() con MYSQL_ASSOC
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . 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);
?>
Example#4 mysql_fetch_array() con MYSQL_BOTH
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Could not connect: " . 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);
?>