# mysqli_stmt::result_metadata

# mysqli_stmt_result_metadata

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::result_metadata -- mysqli_stmt_result_metadata — Devuelve los metadatos del conjunto de resultados de una sentencia preparada

### Descripción

Estilo orientado a objetos

mysqli_stmt::result_metadata(): mysqli_result

Estilo por procedimientos

mysqli_stmt_result_metadata(mysqli_stmt `$stmt`): mysqli_result

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:

> - mysqli_num_fields()

> - mysqli_fetch_field()

> - mysqli_fetch_field_direct()

> - mysqli_fetch_fields()

> - mysqli_field_count()

> - mysqli_field_seek()

> - mysqli_field_tell()

> - mysqli_free_result()

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().

### Parámetros

`stmt`

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

### Valores devueltos

Devuelve un objeto de resultados o `false` si ocurrió un error.

### Ejemplos

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);
?>`

### Ver también

- mysqli_prepare() - Prepara una sentencia SQL para su ejecución
- mysqli_free_result() - Libera la memoria asociada a un resultado