(PHP 5, PHP 7, PHP 8)
mysqli_stmt::fetch -- mysqli_stmt_fetch — Lee los resultados de una consulta MySQL preparada en variables vinculadas
Estilo orientado a objetos
Estilo por procedimientos
Devuelve el resultado de una consulta preparada en una variable, vinculada por mysqli_stmt_bind_result().
Nota:
Tenga en cuenta que todas las columnas deben ser vinculadas por la aplicación antes de llamar a mysqli_stmt_fetch().
Nota:
Los datos se transfieren sin ser almacenados en búfer, sin llamar a la función mysqli_stmt_store_result(), lo que puede tener un impacto en el rendimiento (pero también, reducir el uso de memoria).
stmt
Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().
Valor | Descripción |
---|---|
true |
Éxito. Los datos han sido leídos. |
false |
Se ha producido un error. |
null |
No hay más líneas para leer o los datos han sido truncados. |
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 = new mysqli("localhost", "my_user", "my_password", "world");
/* Verifica la conexión */
if (mysqli_connect_errno()) {
printf("Fallo en la conexión: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";
if ($stmt = $mysqli->prepare($query)) {
/* Ejecución de la consulta */
$stmt->execute();
/* Vinculación de las variables de resultado */
$stmt->bind_result($name, $code);
/* Lectura de los valores */
while ($stmt->fetch()) {
printf ("%s (%s)\n", $name, $code);
}
/* Cierre de la sentencia */
$stmt->close();
}
/* Cierre de la conexión */
$mysqli->close();
?>
Ejemplo #2 Estilo por procedimientos
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Verifica la conexión */
if (mysqli_connect_errno()) {
printf("Fallo en la conexión: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";
if ($stmt = mysqli_prepare($link, $query)) {
/* Ejecución de la consulta */
mysqli_stmt_execute($stmt);
/* Vinculación de las variables de resultado */
mysqli_stmt_bind_result($stmt, $name, $code);
/* Lectura de los valores */
while (mysqli_stmt_fetch($stmt)) {
printf ("%s (%s)\n", $name, $code);
}
/* Cierre de la sentencia */
mysqli_stmt_close($stmt);
}
/* Cierre de la conexión */
mysqli_close($link);
?>
El resultado de los ejemplos sería:
Rockford (USA) Tallahassee (USA) Salinas (USA) Santa Clarita (USA) Springfield (USA)