Vincula variables a un conjunto de resultados

# mysqli_stmt::bind_result

# mysqli_stmt_bind_result

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Vincula variables a un conjunto de resultados

### Descripción

Estilo orientado a objetos

public function mysqli_stmt::bind_result(mixed `&$var`, mixed `&...$vars`): bool

Estilo procedimental

function mysqli_stmt_bind_result(mysqli_stmt `$statement`, mixed `&$var`, mixed `&...$vars`): bool

Asocia columnas de un resultado a variables.

Cuando se llama a mysqli_stmt_fetch() para leer valores, el protocolo MySQL coloca los datos en las variables especificadas `var`/`vars`.

Una columna puede ser vinculada en cualquier momento, incluso después de que un conjunto de resultados haya sido parcialmente recuperado. La nueva vinculación entra en vigor la próxima vez que se llame a mysqli_stmt_fetch().

> Nota:

> Todas las columnas deben ser vinculadas después de la ejecución de la función mysqli_stmt_execute() y antes de la llamada a la función mysqli_stmt_fetch(). Dependiendo del tipo de valor de la columna, el tipo de variable PHP puede ser modificado automáticamente.

> Nota:

> Una columna puede ser asociada o reasociada en cualquier momento, incluso después de una lectura parcial del resultado. La nueva asociación entra en vigor en la próxima llamada a mysqli_stmt_fetch().

Sugerencia

Esta función es útil para resultados básicos. Para recuperar un conjunto de resultados iterable, o recuperar cada fila como array u objeto, utilice mysqli_stmt_get_result().

### Parámetros

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

  La primera variable a vincular.

`vars`

  Variables adicionales a vincular.

### Valores devueltos

Esta función retorna `true` en caso de éxito o `false` si ocurre un error.

### Ejemplos

Ejemplo #1 Estilo orientado a objetos

    <?php

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

    /* Preparación de la consulta */
    $stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5");
    $stmt->execute();

    /* Vincular variables a una declaración preparada */
    $stmt->bind_result($col1, $col2);

    /* Recuperación de los valores */
    while ($stmt->fetch()) {
        printf("%s %s\n", $col1, $col2);
    }
    ?>

Ejemplo #2 Estilo procedimental

    <?php

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

    /* Preparación de la consulta */
    $stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5");
    mysqli_stmt_execute($stmt);

    /* Vincular variables a una declaración preparada */
    mysqli_stmt_bind_result($stmt, $col1, $col2);

    /* Recuperación de los valores */
    while (mysqli_stmt_fetch($stmt)) {
        printf("%s %s\n", $col1, $col2);
    }
    ?>

El ejemplo anterior mostrará:

    AFG Afghanistan
    ALB Albania
    DZA Algeria
    ASM American Samoa
    AND Andorra

### Ver también

- mysqli_stmt_get_result() - Obtiene un conjunto de resultados desde una consulta preparada como un objeto mysqli_result
- mysqli_stmt_bind_param() - Vincula variables a una consulta MySQL
- mysqli_stmt_execute() - Ejecuta una consulta preparada
- mysqli_stmt_fetch() - Lee los resultados de una consulta MySQL preparada en variables vinculadas
- mysqli_prepare() - Prepara una consulta SQL para su ejecución
- mysqli_stmt_prepare() - Prepara una consulta SQL para su ejecución

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