(PHP 5, PHP 7, PHP 8)
mysqli_stmt::store_result -- mysqli_stmt_store_result — Almacena un conjunto de resultados en un búfer interno
Estilo orientado a objetos
Estilo por procedimientos
Esta función debería ser llamada para consultas que produzcan un conjunto de resultados (por ejemplo, SELECT, SHOW, DESCRIBE, EXPLAIN
)
solo si el conjunto de resultados completo debe ser almacenado en búfer por PHP.
Cada llamada sucesiva a mysqli_stmt_fetch() devolverá
los datos almacenados en búfer.
Nota:
No es necesario llamar a mysqli_stmt_store_result() para otros tipos de consultas, pero si se hace, no hay problema y no causará ninguna pérdida notable de rendimiento en ningún caso. Puede detectarse en todos los casos si la consulta va a producir un conjunto de resultados observando si la función mysqli_stmt_result_metadata() devuelve
false
.
stmt
Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().
If mysqli error reporting is enabled (MYSQLI_REPORT_ERROR
) and the requested operation fails,
a warning is generated. If, in addition, the mode is set to MYSQLI_REPORT_STRICT
,
a mysqli_sql_exception is thrown instead.
Ejemplo #1 Estilo orientado a objetos
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = $mysqli->prepare($query);
$stmt->execute();
/* Almacenar el resultado en un búfer interno */
$stmt->store_result();
printf("Número de filas: %d.\n", $stmt->num_rows);
Ejemplo #2 Estilo por procedimientos
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$query = "SELECT Name, CountryCode FROM City ORDER BY Name LIMIT 20";
$stmt = mysqli_prepare($link, $query);
mysqli_stmt_execute($stmt);
/* Almacenar el resultado en un búfer interno */
mysqli_stmt_store_result($stmt);
printf("Número de filas: %d.\n", mysqli_stmt_num_rows($stmt));
El resultado de los ejemplos sería:
Número de filas: 20.