(PHP 5, PHP 7)
mysqli_stmt::result_metadata -- mysqli_stmt_result_metadata — Devuelve los metadatos del conjunto de resultados de una sentencia preparada
Estilo orientado a objetos
Estilo por procedimientos
Si una sentencia pasada a mysqli_prepare() produce un conjunto de resultados, mysqli_stmt_result_metadata() devolverá un objeto de resultados que puede usarse para procesar metainformación como el número total de campos e información de campo individual.
Nota:
Este puntero del conjunto de resultados puede ser pasado como parámetro a cualquier función basada en campos que procese los metadatos del conjunto de resultados, tales como:
La estructura del conjunto de resultados debería ser liberada cuando se termine con ella, lo que se puede hacer pasándose la a mysqli_free_result()
Nota:
El cojunto de resultados devuelto por mysqli_stmt_result_metadata() contiene únicamente metadatos. No contiene ningún resultado de filas. Las filas se obtienen usando el gestor de sentencias con mysqli_stmt_fetch().
stmt
Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().
Devuelve un objeto de resultados o FALSE
si ocurrió un error.
Ejemplo #1 Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "test");
$mysqli->query("DROP TABLE IF EXISTS friends");
$mysqli->query("CREATE TABLE friends (id int, name varchar(20))");
$mysqli->query("INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");
$sentencia = $mysqli->prepare("SELECT id, name FROM friends");
$sentencia->execute();
/* obtener el conjunto de resultados para los metadatos */
$resultado = $sentencia->result_metadata();
/* recuperar la información de campo de los metadatos del conjunto de resultados */
$campo = $resultado->fetch_field();
printf("Nombre del campo: %s\n", $campo->name);
/* cerrar el conjunto de resultados */
$resultado->close();
/* cerrar la conexión */
$mysqli->close();
?>
Ejemplo #2 Estilo por procedimientos
<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "test");
mysqli_query($enlace, "DROP TABLE IF EXISTS friends");
mysqli_query($enlace, "CREATE TABLE friends (id int, name varchar(20))");
mysqli_query($enlace, "INSERT INTO friends VALUES (1,'Hartmut'), (2, 'Ulf')");
$sentencia = mysqli_prepare($enlace, "SELECT id, name FROM friends");
mysqli_stmt_execute($sentencia);
/* obtener el conjunto de resultados para los metadatos */
$resultado = mysqli_stmt_result_metadata($sentencia);
/* recuperar la información de campo de los metadatos del conjunto de resultados */
$campo = mysqli_fetch_field($resultado);
printf("Nombre del campo: %s\n", $campo->name);
/* cerrar el conjunto de resultados */
mysqli_free_result($resultado);
/* cerrar la conexión */
mysqli_close($enlace);
?>