mysql_fetch_assoc

(PHP 4 >= 4.0.3, PHP 5)

mysql_fetch_assocRecupera una fila de resultados como un array asociativo

Advertencia

Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API. Las alternativas a esta función son:

Descripción

mysql_fetch_assoc(resource$result): array

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

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

Valores devueltos

Devuelve un array asociativo de strings 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 la/s otra/s columna/s con el mismo nombre, se tendrá que acceder al resultado con índices numéricos mediante el uso de mysql_fetch_row() o agregando sobrenombres. Véase el ejemplo en la descripción de mysql_fetch_array() respecto a los sobrenombres.

Ejemplos

Ejemplo #1 Un ejemplo desarrolado de mysql_fetch_assoc()

<?php

$conexión
= mysql_connect("localhost", "usuario_mysql", "contraseña_mysql");

if (!
$conexión) {
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, estatus_usuario
FROM alguna_tabla
WHERE estatus_usuario = 1"
;

$resultado = mysql_query($sql);

if (!
$resultado) {
echo
"No se pudo ejecutar con exito 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 un array asociativo
// Nota: Si solo espera una fila, no hay necesidad de usar un bucle
// Nota: Si coloca extract($fila); dentro del siguiente bucle,
// estará creando $id_usuario, $nombre_completo, y $estatus_usuario
while ($fila = mysql_fetch_assoc($resultado)) {
echo
$fila["id_usuario"];
echo
$fila["nombre_completo"];
echo
$fila["estatus_usuario"];
}

mysql_free_result($resultado);

?>

Notas

Nota: Rendimiento

Algo importante a observar es que el uso de mysql_fetch_assoc()no es significativamente más lento que el uso de mysql_fetch_row(), aunque provee un valor añadido considerable.

Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

Nota: Esta función define campos NULOS al valor null de PHP.

Ver también

To Top