Forum und email

mysql_fetch_array

(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

Descripción

array mysql_fetch_array ( int $id_resultado [, int $ tipo_de_resultado ] )

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($resultMYSQL_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($resultMYSQL_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($resultMYSQL_BOTH)) {
    
printf ("ID: %s  Name: %s"$row[0], $row["name"]);
}

mysql_free_result($result);
?>