(PHP 5, PHP 7)
mysqli_stmt::store_result -- mysqli_stmt_store_result — Transfiere un conjunto de resultados desde una sentencia preparada
Estilo orientado a objetos
Estilo por procedimientos
Se debe llamar a mysqli_stmt_store_result() para cada consulta que produzca con éxito un conjunto de resultados (SELECT, SHOW, DESCRIBE, EXPLAIN), y únicamente si se quiere almacenar en buffer el conjunto de resultados completo en el cliente, por lo que las llamadas subsuguientes a mysqli_stmt_fetch() devolverán datos almacenados en buffer.
Nota:
No es necesario llamar a mysqli_stmt_store_result() para otras consultas, pero si se hace, no perjudicará al rendimiento en ningún caso. Se puede detectar si la consulta produjo un conjunto de resultados comprobando si mysqli_stmt_result_metadata() devolvió NULL.
stmt
Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().
Devuelve TRUE
en caso de éxito o FALSE
en caso de error.
Ejemplo #1 Estilo orientado a objetos
<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
/* comprobar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
$consulta = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($sentencia = $mysqli->prepare($consulta)) {
/* ejecutar la consulta */
$sentencia->execute();
/* almacenar el resultado */
$sentencia->store_result();
printf("Número de filas: %d.\n", $sentencia->num_rows);
/* liberar el resultado */
$sentencia->free_result();
/* cerrar la sentencia */
$sentencia->close();
}
/* cerrar la conexión */
$mysqli->close();
?>
Ejemplo #2 Estilo por procedimientos
<?php
/* Open a connection */
/* Abrir una conexión */
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");
/* comprobar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
$consulta = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if ($sentencia = mysqli_prepare($enlace, $consulta)) {
/* ejecutar la consulta */
mysqli_stmt_execute($sentencia);
/* almacenar el resultado */
mysqli_stmt_store_result($sentencia);
printf("Number of rows: %d.\n", mysqli_stmt_num_rows($sentencia));
/* liberar el resultado */
mysqli_stmt_free_result($sentencia);
/* cerrar la sentencia */
mysqli_stmt_close($sentencia);
}
/* cerrar la conexión */
mysqli_close($enlace);
?>
El resultado de los ejemplos sería:
Número de filas: 20.