Lee los resultados de una consulta MySQL preparada en variables vinculadas

# mysqli_stmt::fetch

# mysqli_stmt_fetch

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::fetch -- mysqli_stmt_fetch — Lee los resultados de una consulta MySQL preparada en variables vinculadas

### Descripción

Estilo orientado a objetos

public function mysqli_stmt::fetch(): ?bool

Estilo procedimental

function mysqli_stmt_fetch(mysqli_stmt `$statement`): ?bool

Devuelve el resultado de una consulta preparada en una variable, vinculada por mysqli_stmt_bind_result().

> Nota:

> Tenga en cuenta que todas las columnas deben ser vinculadas por la aplicación antes de llamar a mysqli_stmt_fetch().

> Nota:

> Los datos se transfieren sin ser almacenados en búfer, sin llamar a la función mysqli_stmt_store_result(), lo que puede tener un impacto en el rendimiento (pero también, reducir el uso de memoria).

### Parámetros

`statement`
  Solo estilo procedimental: Un objeto mysqli_stmt devuelto por mysqli_stmt_init().

### Valores devueltos

Valores devueltos
Valor | Descripción
--- | ---
`true` | Éxito. Los datos han sido leídos.
`false` | Se ha producido un error.
`null` | No hay más líneas para leer o los datos han sido truncados.

### Errores/Excepciones

Si el informe de errores de mysqli está habilitado (`MYSQLI_REPORT_ERROR`) y la operación solicitada falla, se genera una advertencia. Si, además, el modo está configurado como `MYSQLI_REPORT_STRICT`, se lanza una mysqli_sql_exception en su lugar.

### Ejemplos

Ejemplo #1 Estilo orientado a objetos

    <?php
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    /* Verifica la conexión */
    if (mysqli_connect_errno()) {
        printf("Fallo en la conexión: %s\n", mysqli_connect_error());
        exit();
    }

    $query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

    if ($stmt = $mysqli->prepare($query)) {

        /* Ejecución de la consulta */
        $stmt->execute();

        /* Vinculación de las variables de resultado */
        $stmt->bind_result($name, $code);

        /* Lectura de los valores */
        while ($stmt->fetch()) {
            printf ("%s (%s)\n", $name, $code);
        }

        /* Cierre de la sentencia */
        $stmt->close();
    }

    /* Cierre de la conexión */
    $mysqli->close();
    ?>

Ejemplo #2 Estilo procedimental

    <?php
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");

    /* Verifica la conexión */
    if (mysqli_connect_errno()) {
        printf("Fallo en la conexión: %s\n", mysqli_connect_error());
        exit();
    }

    $query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";

    if ($stmt = mysqli_prepare($link, $query)) {

        /* Ejecución de la consulta */
        mysqli_stmt_execute($stmt);

        /* Vinculación de las variables de resultado */
        mysqli_stmt_bind_result($stmt, $name, $code);

        /* Lectura de los valores */
        while (mysqli_stmt_fetch($stmt)) {
            printf ("%s (%s)\n", $name, $code);
        }

        /* Cierre de la sentencia */
        mysqli_stmt_close($stmt);
    }

    /* Cierre de la conexión */
    mysqli_close($link);
    ?>

Los ejemplos anteriores mostrarán:

    Rockford (USA)
    Tallahassee (USA)
    Salinas (USA)
    Santa Clarita (USA)
    Springfield (USA)

### Ver también

- mysqli_prepare() - Prepara una consulta SQL para su ejecución
- mysqli_stmt_errno() - Devuelve un código de error para la última consulta
- mysqli_stmt_error() - Devuelve una descripción del último error de procesamiento
- mysqli_stmt_bind_result() - Vincula variables a un conjunto de resultados

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