Documentación de la función mysql_fetch_assoc()
:
Devuelve un array asociativo que corresponde a la fila recuperada y
mueve el puntero de datos interno hacia adelante.
Es decir, si sólo devuelve la primera fila, para obtener todas las filas debería incluirse en un bucle. En esa misma página de documentación tienes ejemplos de código que explican como hacerlo.
Antes de continuar te recomiendo tener en cuenta:
Advertencia Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. En su lugar, deberían usarse las
extensiones MySQLi o PDO_MySQL.
Es decir, es recomendable cambiar todas las funciones mysql_*
por mysqli_*
. Función sustituya: mysqli_fetch_assoc()
(Documentación).
Ejemplo de código:
<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Conexión fallida: %s\n", mysqli_connect_error());
exit();
}
$consulta = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 50,5";
if ($resultado = mysqli_query($enlace, $consulta)) {
/* obtener array asociativo */
while ($row = mysqli_fetch_assoc($resultado)) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* liberar el conjunto de resultados */
mysqli_free_result($resultado);
}
/* cerrar la conexión */
mysqli_close($link);
?>