# 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 una sentencia preparada para el almacenamiento de resultados

### Descripción

Estilo orientado a objetos

mysqli_stmt::bind_result(mixed `&$var1`, mixed `&$...` = ?): bool

Estilo por procedimientos

mysqli_stmt_bind_result(mysqli_stmt `$stmt`, mixed `&$var1`, mixed `&$...` = ?): bool

Vincula columnas del conjunto de resultados a variables.

Cuando se llama a mysqli_stmt_fetch() para obtener datos, el protocolo cliente/servidor de MySQL coloca los datos de las columnas vinculads en las variables especificadas por `var1, ...`.

> Nota:

> Observe que todas las columnas deben ser vinculadas después de llamar a mysqli_stmt_execute() y antes de llamar a mysqli_stmt_fetch(). Dependiendo de los tipos de columna las variables pueden cambiar silenciosamente al tipo de PHP correspondiente.

> Una columna puede ser vinculada o revinculada en cualquier momento, incluso después de que un conjunto de resultados haya sido parcialmente recuperado. La nueva vinculación toma efecto la siguiente vez que se llame a mysqli_stmt_fetch().

### Parámetros

`stmt`

  Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

`var1`

  La variable a vincular.

### Valores devueltos

Devuelve `true` en caso de éxito o `false` en caso de error.

### Ejemplos

Ejemplo #1 Estilo orientado a objetos

`<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
/* sentencia preparada */
if ($sentencia = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
$sentencia->execute();
/* vincular variables a la sentencia preparada */
$sentencia->bind_result($col1, $col2);
/* obtener valores */
while ($sentencia->fetch()) {
printf("%s %s\n", $col1, $col2);
}
/* cerrar la sentencia */
$sentencia->close();
}
/* cerrar la conexión */
$mysqli->close();
?>`

Ejemplo #2 Estilo por procedimientos

`<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");
/* comprobar la conexión */
if (!$enlace) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
/* sentencia preparada */
if ($sentencia = mysqli_prepare($enlace, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
mysqli_stmt_execute($sentencia);
/* vincular variables a la sentencia preparada */
mysqli_stmt_bind_result($sentencia, $col1, $col2);
/* obtener valores */
while (mysqli_stmt_fetch($sentencia)) {
printf("%s %s\n", $col1, $col2);
}
/* cerrar la sentencia */
mysqli_stmt_close($sentencia);
}
/* cerrar la conexión */
mysqli_close($enlace);
?>`

El resultado de los ejemplos sería:

    AFG Afghanistan
    ALB Albania
    DZA Algeria
    ASM American Samoa
    AND Andorra

### Ver también

- mysqli_stmt_get_result() - Obtiene un conjunto de resultados de una sentencia preparada
- mysqli_stmt_bind_param() - Agrega variables a una sentencia preparada como parámetros
- mysqli_stmt_execute() - Ejecuta una consulta preparada
- mysqli_stmt_fetch() - Obtiene los resultados de una sentencia preparadas en las variables vinculadas
- mysqli_prepare() - Prepara una sentencia SQL para su ejecución
- mysqli_stmt_prepare() - Preparar una sentencia SQL para su ejecución
- mysqli_stmt_init() - Inicializa una sentencia y devuelve un objeto para usarlo con mysqli_stmt_prepare
- mysqli_stmt_errno() - Devuelve el código de error de la llamada de la sentencia más reciente
- mysqli_stmt_error() - Devuelve una descripción en forma de string del último error de una sentencia