Metadatos

Un conjunto de resultados de MySQL contiene metadatos. Los metadatos describen las columnas encontradas en el conjunto de resultados. Todos los metadatos enviados por MySQL son accesibles a través de la interfaz de mysqli. La extensión realiza cambios insignificantes o no realiza ninguno a la información que recibe. La diferencias entre versiones del servidor MySQL no están alineadas.

A los metadatos se puede acceder a través de la interfaz mysqli_result.

Ejemplo #1 Acceder a los metadatos de un conjunto de resultados

<?php
$mysqli
= new mysqli("ejemplo.com", "usuario", "contraseña", "basedatos");
if (
$mysqli->connect_errno) {
echo
"Falló la conexión a MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}

$resultado = $mysqli->query("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
var_dump($resultado->fetch_fields());
?>

El resultado del ejemplo sería:

 array(2) { [0]=> object(stdClass)#3 (13) { ["name"]=> string(4) "_one" ["orgname"]=> string(0) "" ["table"]=> string(0) "" ["orgtable"]=> string(0) "" ["def"]=> string(0) "" ["db"]=> string(0) "" ["catalog"]=> string(3) "def" ["max_length"]=> int(1) ["length"]=> int(1) ["charsetnr"]=> int(63) ["flags"]=> int(32897) ["type"]=> int(8) ["decimals"]=> int(0) } [1]=> object(stdClass)#4 (13) { ["name"]=> string(4) "_two" ["orgname"]=> string(0) "" ["table"]=> string(0) "" ["orgtable"]=> string(0) "" ["def"]=> string(0) "" ["db"]=> string(0) "" ["catalog"]=> string(3) "def" ["max_length"]=> int(5) ["length"]=> int(5) ["charsetnr"]=> int(8) ["flags"]=> int(1) ["type"]=> int(253) ["decimals"]=> int(31) } } 

Sentencias preparadas

A los metadatos de un conjunto de resultados creado usando sentencias preparadas se accede de la misma manera. Un gestor de mysqli_result apropiado es devuelto por mysqli_stmt_result_metadata().

Ejemplo #2 Metadatos de sentencias preparadas

<?php
$sentencia
= $mysqli->prepare("SELECT 1 AS _one, 'Hello' AS _two FROM DUAL");
$sentencia->execute();
$resultado = $sentencia->result_metadata();
var_dump($resultado->fetch_fields());
?>

Véase también

To Top