mysqli_stmt::store_result

mysqli_stmt_store_result

(PHP 5, PHP 7)

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 ( void ) : 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
/* 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.

Ver también