(PHP 5, PHP 7)
mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Vincula variables a una sentencia preparada para el almacenamiento de resultados
Estilo orientado a objetos
Estilo por procedimientos
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().
stmt
Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().
var1
La variable a vincular.
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
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