mysqli_stmt::store_result

mysqli_stmt_store_result

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::store_result -- mysqli_stmt_store_resultTransfiere un conjunto de resultados desde una sentencia preparada

Descripción

Estilo orientado a objetos

mysqli_stmt::store_result(): bool

Estilo por procedimientos

mysqli_stmt_store_result(mysqli_stmt$stmt): bool

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.

Parámetros

stmt

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

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();
}

$consulta = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
if (
$sentencia = $mysqli->prepare($consulta)) {


$sentencia->execute();


$sentencia->store_result();

printf("Número de filas: %d.\n", $sentencia->num_rows);


$sentencia->free_result();


$sentencia->close();
}


$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php


$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");


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)) {


mysqli_stmt_execute($sentencia);


mysqli_stmt_store_result($sentencia);

printf("Number of rows: %d.\n", mysqli_stmt_num_rows($sentencia));


mysqli_stmt_free_result($sentencia);


mysqli_stmt_close($sentencia);
}


mysqli_close($enlace);
?>

El resultado de los ejemplos sería:

Número de filas: 20.

Ver también

To Top