Recupera la siguiente fila de un conjunto de resultados como un array asociativo

# mysqli_result::fetch_assoc

# mysqli_fetch_assoc

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_assoc -- mysqli_fetch_assoc — Recupera la siguiente fila de un conjunto de resultados como un array asociativo

### Descripción

Estilo orientado a objetos

public function mysqli_result::fetch_assoc(): array|null|false

Estilo procedimental

function mysqli_fetch_assoc(mysqli_result `$result`): array|null|false

Devuelve una fila de datos del conjunto de resultados y la retorna como un array asociativo. Cada llamada posterior a esta función retornará la siguiente fila en el conjunto de resultados, o `null` si no hay más filas.

Si dos o más columnas del resultado tienen el mismo nombre, la última columna tendrá prioridad y sobrescribirá todos los datos anteriores. Para acceder a múltiples columnas con el mismo nombre, puede utilizarse mysqli_fetch_row() para recuperar el array indexado numéricamente o pueden utilizarse alias en la lista de selección de la consulta SQL para dar nombres diferentes a las columnas.

> Nota: Los nombres de los campos devueltos por esta función son sensibles a la case.

> Nota: Esta función define los campos NULL al valor PHP `null`.

### Parámetros

`result`
  Solo estilo procedimental: Un objeto mysqli_result devuelto por mysqli_query(), mysqli_store_result(), mysqli_use_result() o mysqli_stmt_get_result().

### Valores devueltos

Devuelve un array asociativo que representa la fila recuperada, donde cada clave del array representa el nombre de una de las columnas del conjunto de resultados, `null` si no hay más filas en el conjunto de resultados, o `false` si ocurre un error.

### Ejemplos

Ejemplo #1 Ejemplo mysqli_result::fetch_assoc()

Estilo orientado a objetos

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    $query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

    $result = $mysqli->query($query);

    /* fetch associative array */
    while ($row = $result->fetch_assoc()) {
        printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

Estilo procedimental

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = mysqli_connect("localhost", "my_user", "my_password", "world");

    $query = "SELECT Name, CountryCode FROM City ORDER BY ID DESC";

    $result = mysqli_query($mysqli, $query);

    /* fetch associative array */
    while ($row = mysqli_fetch_assoc($result)) {
        printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

Los ejemplos anteriores mostrarán algo similar a:

    Pueblo (USA)
    Arvada (USA)
    Cape Coral (USA)
    Green Bay (USA)
    Santa Clara (USA)

Ejemplo #2 Comparación del uso de mysqli_result iterator y mysqli_result::fetch_assoc()

mysqli_result puede ser iterado utilizando un `foreach`. El conjunto de resultados siempre será iterado desde la primera fila, independientemente de la posición actual.

    <?php

    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    $query = 'SELECT Name, CountryCode FROM City ORDER BY ID DESC';

    // Utiliza un iterador
    $result = $mysqli->query($query);
    foreach ($result as $row) {
        printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

    echo "\n==================\n";

    // No utiliza iterador
    $result = $mysqli->query($query);
    while ($row = $result->fetch_assoc()) {
        printf("%s (%s)\n", $row["Name"], $row["CountryCode"]);
    }

Resultado del ejemplo anterior es similar a:

    Pueblo (USA)
    Arvada (USA)
    Cape Coral (USA)
    Green Bay (USA)
    Santa Clara (USA)

    ==================
    Pueblo (USA)
    Arvada (USA)
    Cape Coral (USA)
    Green Bay (USA)
    Santa Clara (USA)

### Ver también

- mysqli_fetch_array() - Obtiene la siguiente fila de un conjunto de resultados como un array asociativo, numérico o ambos
- mysqli_fetch_column() - Recupera una sola columna de la siguiente fila de un conjunto de resultados
- mysqli_fetch_row() - Obtiene una fila de resultado como un array indexado
- mysqli_fetch_object() - Devuelve la siguiente fila de un conjunto de resultados como objeto
- mysqli_query() - Ejecuta una consulta en la base de datos
- mysqli_data_seek() - Mueve el puntero interno de resultado

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open