mysql_fetch_array
mysql_fetch_field
MySQL Functions
PHP Manual

# mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assoc — Recupera una fila de resultado como una matriz asociativa

### Descripción

array mysql_fetch_assoc ( resource `$resultado` )

Devuelve una matriz asociativa que corresponde a la fila recuperada y mueve el apuntador de datos interno hacia adelante. mysql_fetch_assoc() es equivalente a llamar mysql_fetch_array() con MYSQL_ASSOC como el segundo parámetro opcional. Únicamente devuelve una matriz asociativa.

### Lista de parámetros

`result`

  The result resource that is being evaluated. This result comes from a call to mysql_query().

### Valores retornados

Devuelve una matriz asociativa de cadenas que corresponde a la fila recuperada, o `FALSE` si no hay más filas disponibles.

Si dos o más columnas del resultado tienen los mismos nombres de campo, la última columna tomará precedencia. Para acceder a otras columnas con el mismo nombre, tendrá que acceder al resultado con índices numéricos mediante el uso de mysql_fetch_row() o agregar sobrenombres. Vea el ejemplo en la descripción de mysql_fetch_array() respecto a los sobrenombres.

### Ejemplos

Example #1 Un ejemplo extendido de mysql_fetch_assoc()

`<?php
$conexion = mysql_connect("localhost", "mysql_user", "mysql_password");
if (!$conexion) {
echo "No pudo conectarse a la BD: " . mysql_error();
exit;
}
if (!mysql_select_db("nombre_de_la_bd")) {
echo "No ha sido posible seleccionar la BD: " . mysql_error();
exit;
}
$sql = "SELECT id as id_usuario, nombre_completo, status_usuario
FROM alguna_tabla
WHERE status_usuario = 1";
$resultado = mysql_query($sql);
if (!$resultado) {
echo "No pudo ejecutarse satisfactoriamente la consulta ($sql) " .
"en la BD: " . mysql_error();
exit;
}
if (mysql_num_rows($resultado) == 0) {
echo "No se han encontrado filas, nada a imprimir, asi que voy " .
"a detenerme.";
exit;
}
// Mientras exista una fila de datos, colocar esa fila en $fila
// como una matriz asociativa
// Nota: Si solo espera una fila, no hay necesidad de usar un ciclo
// Nota: Si coloca extract($fila); dentro del siguiente ciclo,
// estará creando $id_usuario, $nombre_completo, y $status_usuario
while ($fila = mysql_fetch_assoc($resultado)) {
echo $fila["id_usuario"];
echo $fila["nombre_completo"];
echo $fila["status_usuario"];
}
mysql_free_result($resultado);
?>`

### Notes

> Note: Rendimiento
> Algo importante a notar es que el uso de mysql_fetch_assoc() no es significativamente más lento que el uso de mysql_fetch_row(), al mismo tiempo que provee un valor agregado considerable.

> 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`.

### Ver también

- mysql_fetch_row() - Devuelve una fila de resultado como matriz
- mysql_fetch_array() - Extrae la fila de resultado como una matriz asociativa, una matriz numérica o ambas
- mysql_data_seek() - Mueve el puntero interno
- mysql_query() - Envía una consulta de MySQL
- mysql_error() - Devuelve el texto del mensaje de error de la última operación MySQL

mysql_fetch_array
mysql_fetch_field
MySQL Functions
PHP Manual