(PHP 5, PHP 7, PHP 8)
mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Vincula variables a un conjunto de resultados
Estilo orientado a objetos
Estilo por procedimientos
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().
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().
stmt
Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().
var
La primera variable a vincular.
vars
Variables adicionales a vincular.
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 por procedimientos
<?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 resultado del ejemplo sería:
AFG Afghanistan ALB Albania DZA Algeria ASM American Samoa AND Andorra